reduce()方法的使用
1.参数
var newArray = arr.reduce(callback(accumulator, currentValue[, index[, array]])[,initialValue])
/*
1. accumulator
累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue
2.currentValue
数组中正在处理的元素。
3. index 可选
数组中正在处理的当前元素的索引。 如果提供了initialValue,则起始索引号为0,否则从索引1起始。
4.array可选
调用reduce()的数组
*/
//initialValue(可选) 为accumulator的初始值
2.返回值
返回处理之后的结果
3.案例
案例1
var arr = [1, 2, 3, 4, 5];
var arr1 = arr.reduce(function(acc, curr, idx, arr) { //有四个参数acc累计器的回调值
return acc + idx; //初识值 3累加元素下标
}, 3) //3为acc的初始值
console.log(arr1);//结果为13
案例2
var str = 'jfkldsajgklasjkhlgjefaklhjaerkl';
var arr = str.split('');
var arr1 = arr.reduce(function(acc, curr) {
if (acc[curr]) { //判断原来是否存在acc[curr],存在则数值加一 不存在则创建对应的 acc[curr]
acc[curr]++;
} else {
acc[curr] = 1;
}
return acc;
}, {})
console.log(arr1);
打印结果:
注: 初次学习,所用案例都为课上所学,可能有错,如有错请大家指正,内容仅供参考