js判斷一個數組是否包含一個指定的值

js判斷一個數組是否包含一個指定的值


今天看了一下 有好幾種方法 總結一下

1:array.indexOf 此方法判斷數組中是否存在某個值,如果存在返回數組元素的下標,否則返回-1

<code>let arr = ['something', 'anything', 'nothing', 'anything'];
let index = arr.indexOf('nothing');
console.log(index) //結果是2
/<code>

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

<code>// ---------- 元素是普通字面值 ----------
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" }/<code>

4. array.findIndex(callback[, thisArg]) 返回數組中滿足條件的第一個元素的索引(下標), 如果沒有找到,返回-1 同第3種方法類似


分享到:


相關文章: