1. map
const arr1 = [2, 4, 5, 7, 12]
const mapArr = arr1.map((item, index, arr1) => {
return item * 2
})
console.log(arr1);
console.log(mapArr);
2. foreach
- 不会改变原数组
- 无返回值(undefined)
- 在不确定长度或者计算长度有损性能的时候用
- 会跳过空项
const arr2 = [2, 4, 5, 7, 12]
const forEachArr = arr2.forEach((item, index, arr2) => {
return item * 2
})
console.log(arr2);
console.log(forEachArr);
3. for
- 在固定长度或者长度不需要计算的时候for循环效率
- 较复杂的循环中效率更高
- 在迭代过程中跳过特定元素或从数组中删除元素
const arr3 = [2, 4, 5, 7, 12]
for (let i = 0; i < arr3.length; i++) {
arr3[i] *= 2
}
console.log(arr3);
4. reduce
- 不会改变原数组
- 进行数组求和、数组去重,遍历最大值最小值的操作
- 第二个参数为初始值
const arr4 = [2, 4, 5, 7, 12]
const reduceArr = arr4.reduce((total, item, index, arr4) => {
return total + item
},10)
console.log(arr4);
console.log(reduceArr);
5. filter
- 不会改变原数组
- 用于筛选数组
- 返回筛选后的结果数组
const arr5 = [2, 4, 5, 7, 12]
const filterArr = arr5.filter((item, index, arr5) => {
return item > 5
})
console.log(arr5);
console.log(filterArr);