vue处理数组循环的四个方式

zhan11400
字数 1573阅读 108

111

search(keywords){
var newList=[];
//数组的方法 forEach filter some findIndex
//方法一
//forEach 数组每个元素都执行一次回调函数。
this.books.forEach(item=>{
//indexOf搜索数组中的元素,并返回它所在的位置。
if(item.name.indexOf(keywords) !=-1){
newList.push(item)
}
})

       return newList;

//filter:检测数值元素,并返回符合条件所有元素的数组。
//在es6中,为字符串提供了一个string.prototype.includes('要包含的字符串'),成功返回true,否false
//方法二 filter() 检测数值元素,并返回符合条件所有元素的数组。
newList=this.books.filter(item=>{
if(item.name.includes(keywords)){
return item;
}
})
//方法三 some() 检测数组元素中是否有元素符合指定条件。返回true或者false

this.books.some(item=>{
if(item.name.includes(keywords)){
newList.push(item);//return会终须循环
}
})
//方法四 findIndex() 返回符合传入测试(函数)条件的数组元素索引。返回的是匹配成功的次数
var newList2=[];
this.books.findIndex(item=>{
console.log(item.name)
if(item.name.includes(keywords)){
//return会立即终止循环
newList2.push(item)
}
})
return newList2;
}


取消赞
0条评论
    暂无评论
发表评论