js判斷數組中某個值是否存在


 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM