js判断数组中是否存在某个值


1. array.indexOf

判断数组中是否存在某个值,如果存在返回数组元素的下标,否则返回-1

let arr = ['something', 'anything', 'nothing', 'anything'];
let index = arr.indexOf('nothing');
# 结果:2

如若引的有jq,则:$.inArray(1, arr_data); //如果存在返回值的下标,不存在返回-1

2. array.includes(searchElement[, fromIndex])

判断一个数组是否包含一个指定的值,如果存在返回 true,否则返回false。

参数:searchElement
需要查找的元素值。

参数:fromIndex(可选)
从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。

[1, 2, 3].includes(2);     // true
[1, 2, 3].includes(4);     // false
[1, 2, 3].includes(3, 3);  // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true

3. array.find(callback[, thisArg])

返回数组中满足条件的第一个元素的值,如果没有,返回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" }

4. array.findIndex(callback[, thisArg])

返回数组中满足条件的第一个元素的索引(下标), 如果没有找到,返回-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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM