判斷數組中是否存在某個值,若是存在返回數組元素的下標,不然返回-1
let arr = ['something', 'anything', 'nothing', 'anything']; let index = arr.indexOf('nothing'); # 結果:2
判斷一個數組是否包含一個指定的值,若是存在返回 true,不然返回false。
參數:searchElement
須要查找的元素值。
參數:thisArg(可選)
從該索引處開始查找 searchElement。若是爲負值,則按升序從 array.length + fromIndex 的索引開始搜索。默認爲 0。
let numbers = [12, 5, 8, 130, 44]; let result = numbers.includes(8); # 結果: true result = numbers.includes(118); # 結果: false
返回數組中知足條件的第一個元素的值,若是沒有,返回undefined
參數:callback
element 當前遍歷到的元素。
index 當前遍歷到的索引。
array 數組自己。
參數:thisArg(可選)
指定 callback 的 this 參數。
// ---------- 元素是普通字面值 ---------- let numbers = [12, 5, 8, 130, 44]; let result = numbers.find(item => { return item > 8; }); # 結果: 12 // ---------- 元素是對象 ---------- let items = [ {id: 1, name: 'something'}, {id: 2, name: 'anything'}, {id: 3, name: 'nothing'}, {id: 4, name: 'anything'} ]; let item = items.find(item => { return item.id == 3; }); # 結果: Object { id: 3, name: "nothing" }
返回數組中知足條件的第一個元素的索引(下標), 若是沒有找到,返回-1
參數:callback
element 當前遍歷到的元素。
index 當前遍歷到的索引。
array 數組自己。
參數:thisArg(可選)
指定 callback 的 this 參數。
// ---------- 元素是普通字面值 ---------- let numbers = [12, 5, 8, 130, 44]; let result = numbers.findIndex(item => { return item > 8; }); # 結果: 0 // ---------- 元素是對象 ---------- let items = [ {id: 1, name: 'something'}, {id: 2, name: 'anything'}, {id: 3, name: 'nothing'}, {id: 4, name: 'anything'} ]; let index = items.findIndex(item => { return item.id == 3; }); # 結果: 2