今天看了一下 有好幾種方法 總結一下
1:array.indexOf 此方法判斷數組中是否存在某個值,如果存在返回數組元素的下標,否則返回-1
let arr = ['something', 'anything', 'nothing', 'anything']; let index = arr.indexOf('nothing'); console.log(index) //結果是2
2. array.includes(searchElement[, fromIndex]) 此方法判斷數組中是否存在某個值,如果存在返回 true,否則返回false。
function test(fruit) {
const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries'];
if (redFruits.includes(fruit)) {
console.log('red');
}else{
console.log('blue');
}
}
test('aple')//結果是red
3. array.find(callback[, thisArg]) 返回數組中滿足條件的第一個元素的值,如果沒有,返回undefined
// ---------- 元素是普通字面值 ---------- let numbers = [12, 5, 8, 130, 44]; let result = numbers.find(item => { return item > 8; });
console.log(result) # 結果: 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; });
console.log(
item
) # 結果: Object { id: 3, name: "nothing" }