闲来无事,来总结一波遍历的方法(上) | 青训营笔记

59 阅读2分钟

数组有很多遍历的方法,下面我们来做一波总结

1.forEach

forEach()方法用于对每一个元素执行回调函数的操作,无返回值。

array.forEach(function(currentValue,index,arr){},thisValue)

第一个参数function是一个回调参数。

currentValue:当前遍历到的元素。 index:当前遍历到的下标。 arr:当前数组。

第二个参数thisValue是该函数的this。

为了方便,所有回调函数的currentValue我都用item来代替

let arr = [1,2,3] 
arr.forEach((item,index,arr)=>{
    arr[index] = item + 1
})
console.log(arr)//[2,3,4]

注意:如果想修改原数组,必须使用arrindex,单纯的修改item是无效的。

2.map

map()方法和forEach十分相像,这两的参数是一样的,区别是map会返回一个新的对数组元素操作完成的例子。

let arr = [1,2,3] 
const newArr = arr.map(item=>item+1)
console.log(arr)//[1,2,3]
console.log(newArr)//[2,3,4]

所以想修改原数组的话用forEach好一点,如果想要一个新的数组那就使用map好一点。

3.every

用于检测数组所有元素是否全都符合条件,参数和上面一样,如果有一个item条件不满足,则整个函数都返回false,反之返回true

下面直接看例子:

let arr = [1,2,3] 
const result = arr.every(item=>item > 0)
console.log(arr)//[1,2,3]
console.log(result)//true

反例:

let arr = [1,2,3] 
const result = arr.every(item=>item > 3)
console.log(arr)//[1,2,3]
console.log(result)//false

4.some

every的作用相反,every是必须全都满足才会返回true,而some只需要一个满足就会返回true,反之返回false

下面直接看例子:

let arr = [1,2,3] 
const result = arr.some(item=>item > 2)
console.log(arr)//[1,2,3]
console.log(result)//true

反例:

let arr = [1,2,3] 
const result = arr.some(item=>item > 3)
console.log(arr)//[1,2,3]
console.log(result)//false

5.find

用于查找数组里是否包含某个满足条件元素的,如果找到则返回对应的元素

下面看例子:

let arr = [1,2,3] 
const result = arr.find(item=>item > 2)
console.log(arr)//[1,2,3]
console.log(result)//3

若不满足则返回undefined

let arr = [1,2,3] 
const result = arr.find(item=>item > 3)
console.log(arr)//[1,2,3]
console.log(result)//undefined

下次再补上其他的方法