JavaScript -- es6新增数组方法(2)
程序员文章站
2023-12-22 23:10:04
...
1. arr.reduce()
迭代数组的所有项,累加器,数组中的每个值(从左到右)合并,最终计算为一个值
参数1:
callback:
previousValue 必选 --上一次调用回调返回的值,或者是提供的初始值(initialValue)
currentValue 必选 --数组中当前被处理的数组项
index 可选 --当前数组项在数组中的索引值
array 可选 --原数组
参数2:
initialValue: 可选 --初始值
实行方法:回调函数第一次执行时,preValue 和 curValue 可以是一个值,如果 initialValue 在调用 reduce() 时被提供,那么第一个 preValue 等于 initialValue ,并且curValue 等于数组中的第一个值;如果initialValue 未被提供,那么preValue 等于数组中的第一个值.
let arr = [0,1,2,3,4]
let arr1 = arr.reduce((preValue, curValue) =>
preValue + curValue
)
console.log(arr1) // 10
let arr2 = arr.reduce((preValue,curValue)=>preValue + curValue,5)
console.log(arr2) // 15
2.arr.find()
找到第一个符合条件的数组成员
let arr = [1,2,3,4,5]
let arr1 = arr.find((value, index, array) =>value > 2)
console.log(arr1) // 3
3. arr.findIndex()
找到第一个符合条件的数组成员的索引值
let arr = [1,2,3,4,5]
let arr1 = arr.findIndex((value, index, array) => value > 3)
console.log(arr1) // 3
4. arr.fill(target, start, end)
使用给定的值,填充一个数组,ps:填充完后会改变原数组
参数:
target -- 待填充的元素
start -- 开始填充的位置-索引
end -- 终止填充的位置-索引(不包括该位置)`在这里插入代码片`
let arr = [1,2,3,4,5]
let arr1 = arr.fill(5)
console.log(arr1) // [5, 5, 5, 5, 5]
console.log(arr) // [5, 5, 5, 5, 5]
let arr2 = arr.fill(5,2)
console.log(arr2)
let arr3 = arr.fill(5,1,3)
console.log(arr3)
5. arr.includes()
判断数中是否包含给定的值
let arr = [1,2,3,4,5]
let arr1 = arr.includes(2)
console.log(arr1) // ture
let arr2 = arr.includes(0)
console.log(arr2) // false
let arr3 = [1,2,3,NaN].includes(NaN)
console.log(arr3) // true
7. arr.keys()
遍历数组的键名
let arr = [1,2,3,4,5]
let arr2 = arr.keys()
for (let key of arr2) {
console.log(key); // 0,1,2,3,4
}
8. arr.values()
遍历数组键值
let arr = [1,2,3,4,5]
let arr1 = arr.values()
for (let val of arr1) {
console.log(val); // 1,2,3,4,5
}
9. arr.entries()
遍历数组的键名和键值
let arr = [1,2,3,4,5]
let arr1 = arr.entries()
for (let i of arr1) {
console.log(i);
}
结果: