lyt0207

 

1.indexOf()  -> ES5:返回索引,大于0则存在,-1不存在

const array = [\'apple\', \'banance\', \'orange\']

array.indexOf(\'apple\')    // 0 存在

array.indexOf(\'strawBerry\')     // -1不存在

 

2.find()   -> ES6:用于找出第一个符合条件的数组成员,他的参数是一个回调函数,所有数组成员一次执行这个回调函数,知道找出第一个返回值为true的成员,然后返回该成员,如果没有符合条件的成员,就返回undefined

const array = [\'apple\', \'banance\', \'orange\']

array.find(obj => obj == \'banance\')    //banance 存在

array.find(obj => obj == \'strawBally\')    //undefined 不存在

或者这种写法:

[1,5,15,20,25].find((value,index,arr) => { return value > 20; })

上面代码中,find方法接受是三个参数,依次为当前成员,当前位置和原数组。

 

const arrayList = [

  {name: \'张三\'}, {name: \'李四\'}

]

arrayList.find(obj => obj.name == \'李四\')        //{name: \'李四\'} 存在

arrayList.find(obj => obj.name == \'王五\')        //undefined 不存在

 

3.findIndex()  -> ES6:返回第一个符合条件的数组成员的位置,如果所有的成员都不符合条件,就返回-1

const array = [\'apple\', \'banance\', \'orange\']

array.findIndex(obj => obj == \'banance\')    //大于0存在

array.findIndex(obj => obj == \'strawBally\')    //-1 不存在

 

3.includes():返回值为布尔类型(note:ie不太兼容,慎用)

const array = [\'apple\', \'banance\', \'orange\']

array.includes(\'banance\')      //true存在

array.includes(\'strawBally\')      //false存在

 

4.filter():返回一个数组

const array = [\'apple\', \'banance\', \'orange\']

array.filter(obj => obj == \'orange\')     //[\'orange\'] 存在

array.filter(obj => obj == \'strawBally\')     //[] 不存在

 

const array = [{ name: \'banance\' }, { name: \'apple\' }]

console.log(array.filter(obj => obj.name === \'apple\'))    //[{name: \'apple\'}] 存在

console.log(array.filter(obj => obj.name === \'strawBally\'))    //[] 不存在

 

分类:

技术点:

相关文章: