首页 > 作文

Vue中遍历数组的新方法

更新时间:2023-04-03 03:19:56 阅读: 评论:0

1、foreach

  foreach循环对不能使用return来停止循环

1 arch(keyword){2         var newlist = []3         this.urls.foreach(item =>{4           if(item.name.indexof(keyword) != -1){5             newlist.push(item)6           }7         })8         return newlist9       }

2、filter

  item对象就是遍历数组中的一个元素,includes是es6中的新方法,在arch方法中直接返回新数组

1 arch(keyword){2         return this.urls.filter(item =>{3           if(item.name.includes(keyword)){4             return item5        }6    })7 }

3、findindex

  返回true后index就可以获取到匹配的元素在进行删除

del(row){          this.$confirm("确定要删除吗?", "删除").then(action=>{          var index = this.urls.findindex(item =>{            if(item.name == row.name){              return true;            }          })          this.urls.splice(index, 1)});    

4、some

  如果匹配成功就return true跳出some的循环

del(row){        this.$confirm("确定要删除吗?", "删除").then(action=>{            this.urls.some((item, i) =>{            if(item.name == row.name){              this.urls.splice(i, 1)              return true;            }          })     });}

5、上例子,在一个vue的data中存入一个固定的数组,对数组进行遍历,实现搜索功能,删除功能

  在el-table中 :data中绑定一个方法,方法中对固定的数组urls进行遍历,返回一个新的数组实现搜索功能

<template>    <div>     <label style="float: left;">      搜索关键字:      <input type="text" class="form-co特岗教师报名条件ntrol" v-model="keyword">    </label>        <el-table :data="arch(keyword)" size="small" :stripe="true" :border="true" @lect="lect" @lect-all="lect">            <el-table-column type="lection"></el-table-column>            <el-table-column type="index"></el-table-column>            <el-table-column label="网站名" prop="name" width="200">                <template slot-scope="slot">                    <a href="slot.row.url" target="_blank">{{slot.row.name}}</a>                </template>            </el-table-column>            <el-table-column label="网址" prop="url"></el-table-column>            <el-table-column label="类型" prop="type" width="50"></el-table-column>            <el赵歆宇-table-column label="国家" prop="country" width="50"></el-table-column>            <el-table-column label="操作" width="50">                <template slot-scope="slot">                    <el-button size="mini" type="text" icon="el-icon-delete" @click="del(slot.row)"></el-button>                </template>            </el-table-column>        </el-table>        <el-divider content-position="left">表格操作</el-divider>        <el-button @click="batchdelete" type="danger" icon="el-icon-delete" size="small">批量删除</el-button>    </div></template><script>    export default {        data() {            return {        keyword:'',                lections: [],                urls: [{                        name: "新浪",                        url: "http://www.sina.com",                        type: "资讯",                        country: "中国"                    },                    {                        name: "腾讯",                        url: "http://www.tencent.com",                        type: "聊天",                        country: "中国"                    },                    {                        name: "谷歌",                        url: "http://www.google.com",          上证180etf              type: "资讯",                        country: "美国"                    },                    {                        name: "韬睿",                        url: "http://www.51i-star.com",                        type: "教育",                        country: "中国"                    }                ]            };        },        methods: {            del(row){                this.$confirm("确定要删除吗?", "删除").then(action=>{          /* this.urls.some((item, i) =>{            if(item.name == row.name){              this.urls.splice(i, 1)              return true;            }          }) */          var index = this.urls.findindex(item =>{           谢赫 if(item.name == row.name){              return true;            }          })          this.urls.splice(index, 1)                });            },            lect(lections, row) {                this.lections = lections;            },            batchdelete() {                this.$confirm("确定要删除吗?", "删除")                    .then(action => {                        for (var i = this.urls.length - 1; i >= 0; i--) {                            for (var j = this.lections.length - 1; j >= 0; j--) {                                if (this.urls[i].name == this.lections[j].name) {                                    this.urls.splice(i, 1);                                    break;                                }                            }                        }                    })                    .catch(error => {                        alert(error);                        this.$message('删除取消');                    });            },      arch(keyword){        /* var newlist = []        this.urls.foreach(item =>{          if(item.name.indexof(keyword) != -1){            newlist.push(item)          }        })        return newlist */        return this.urls.filter(item =>{          if(item.name.in《前赤壁赋》cludes(keyword)){            return item          }        })      }        }    }</script><style></style>

6、效果图为

本文发布于:2023-04-03 03:19:54,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b878183238242e98c2bcb9361781eaf2.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Vue中遍历数组的新方法.doc

本文 PDF 下载地址:Vue中遍历数组的新方法.pdf

标签:数组   中国   遍历   方法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图