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')) //[] 不存在