数据数组操作之找到数组中存在某值

1.indexOf()方法 :

var arr_data = [1,2,3];

 arr_data.indexOf(1); //如果存在返回值的下标,不存在返回-1

2.arr.find()

数组实例的find()用于找出第一个符合条件的数组元素。它的参数是一个回调函数,所有的数组元素依次遍历该回调函数,直到找出第一个返回值为true的元素,然后返回该元素,否则返回undefined。

find 和filter 一样不改变原始数组(需要接收),对空数组不执行

arr.find(function(value) {

if(value === 要查找的值) {

//则包含该元素

}})

3:arr.findIndex() :返回第一个符合条件的数组元素的位置,如果所有的元素都不符合条件,则返回-1

find(),findIndex()和IndexOf的区别:判断NAN

[NaN].indexOf(NaN) // -1

[NaN].findIndex(y => Object.is(NaN, y))// 0

 

扩展:利用for和if语句也可自己做判断

var arr = [1, 5, 10, 15];
//传统for
for(let i=0; i<arr.length; i++) {
    if(arr[i] === 查找值) {
        //则包含该元素
    }
}
// for...of
for(v of arr) {
    if(v === 查找值) {
        //则包含该元素
    }
}
//forEach
arr.forEach(v=>{
    if(v === 查找值) {
        //则包含该元素
    }
})

 

posted @ 2020-07-15 09:29  少哨兵  阅读(895)  评论(0编辑  收藏  举报