js数组的find方法是干什么的呢?

JavaScript08

js数组的find方法是干什么的呢?,第1张

就是在数组中查找符合条件的第一个元素(成员)。

比如:

[1,2,5,-1,9,-3].find(n=>n<0)

//这是查找数组中第一个小于0的数

//查询结果为-1

var arr = [1, 2, 3, 4, 5, 6]

方法一: indexOf (常用)

if (arr.indexOf(2) !== -1) { console.log("包含2") }

方法二: find() 该方法用于查找符合条件的第一个元素,如果找到了,返回这个元素,否则,返回undefined

if (arr.find(item =>item === 2)) { console.log("包含2") }

方法三: findIndex()   和find()类似,也是查找符合条件的第一个元素,不同之处在于findIndex()会返回这个元素的索引,如果没有找到,返回-1

if (arr.findIndex(item =>item === 2) !== -1) { console.log("包含2") }

方法四: some()  查找复合条件的元素, 如果查找到返回true, 反之false

if (arr.some(item =>item === 2) { console.log("包含2") }

方法五: 循环遍历 如map, forEach, if()等等, 此处只用forEach举例

aa.forEach(item =>{if (item === 2) {console.log("包含2")}})

首先定义一个数组

const arr = [1,2,3,4,5,6]

第一种:for循环

for (let i = 0i<arr.lengthi++){

   console.log(arr[i])

}

for(j=0,len=arr.lengthj<lenj++){}//这种方法基本上是所有循环遍历方法中性能最高的一种

第二种 for of (需要ES6支持) 性能要好于forin,但仍然比不上普通for循环

for (let value of arr){

       console.log(value)

}

第三种 for in 它的效率是最低的

for (let i in arr){

      console.log(arr[i])

 }

第四种 foreach() 实际上性能比普通for循环弱

    1、箭头函数写法

    arr.forEach(value =>{

        console.log(value)

    })

    2、普通函数写法

    arr.forEach(function(value){

       console.log(value)

     })

第五种 entries()

for (let [index, value] of arr.entries()) {

     console.log(value)

 }

第六种 keys()

for (let inx of arr.keys()){

console.log(arr[inx])

}

第七种 reduce()

1、箭头函数

arr.reduce((pre,cur)=>{

       console.log(cur)

 })

2、普通函数

arr.reduce(function(pre,cur){

     console.log(cur)

})

第八种 map() 但实际效率还比不上foreach

1、箭头函数

 arr.map(value=>{

       console.log(value)

 })

2、普通函数

arr.map(function(value){

      console.log(value)

})

第九种 values()

for (let value of arr.values()){

       console.log(value)

 }