ES6使用的一些方法

时间:2021-06-22 02:11:32

查找数组中符合条件的所有记录

var list=[
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:3,name:"王五"},
{id:4,name:"张六"}
]

有以上数组,查找名字中有“张”的对象,在以前我们的写法:

//先定义一个空数组,然后for循环查找符合条件的记录添加
var newlist=[];
for(var i=0;i<list.count;i++){
if(list[i].name.indexOf('张')>-1){
newlist.push(list[i])
}
}
有了ES6之后,我们可以这样写:

filter方法:
//ES6的数组新方法 filter
list.filter(function(item){
if(item.name.indexOf("searchStr")>-1){
  return item
  }
})

然后可以使用同样是ES6的箭头函数和includes方法:

includes(string)方法:如果包含了该字符串则返回true

list.filter(item=>{
if(item.name.includes("张")){
return item
}
})

查找数组并返回索引,只能返回一个:findIndex

var index=list.findIndex(item=>{
if(item.name.includes('张')){
return ture;
}
})