JavaScript数组 : 了解减少功能
句法
arr.reduce(callbackFunction, [initialValue])
什么是减少做?
减少是通过阵列循环函数.
操作可以在阵列上通过回调函数来执行.
在操作的阵列上的端, 减少返回单个值
可以使用减少, 例如, 总计购物车
例
让ARR = [1,2,3,4,5];
arr.reduce( (累加器, 当前值, CURRENTINDEX, 排列) => {
//一些操作;
返回的东西;
});
回调函数
回调函数被调用用于阵列中的每个元件, 传递 4 这是通过精简函数传递参数.
这些 4 参数则可以在回调函数中使用.
有四个参数
- 累加器 – 如果提供在第一循环或初始值的阵列的第一个元素. 那么前一个循环的返回值.
- 当前值 – 阵列中的当前元素. 从数组中的第二个元素开始,即. 到达[1], 当未传递初始值参数时. 如果传递初始值参数,则当前值从数组 arr 中的第一个元素开始[0].
- CURRENTINDEX – 当前元素的索引.
- 排列 – 整个阵列.
工作实例
让ARR = [1,2,3,4,5];
arr.reduce(
(累加器, 当前值, CURRENTINDEX, 排列) => {
的console.log(`累加器 (在第 1 个循环中, 累加器是 arr[0], 那么它就是上一个循环的返回值): ${累加器}`);
的console.log(`CurrentValue的 (循环遍历数组, 从 arr 开始[1]): ${当前值}`);
的console.log(`CURRENTINDEX: ${CURRENTINDEX}`);
的console.log(`阵列: ${排列}`);
的console.log('---');
回累加器 + 当前值;
}
);
产量
累加器 (在第 1 个循环中, 累加器是 arr[0], 那么它就是上一个循环的返回值): 1 当前值 (循环遍历数组, 从 arr 开始[1]): 2 CURRENTINDEX: 1 排列: 1,2,3,4,5 --- 累加器 (在第 1 个循环中, 累加器是 arr[0], 那么它就是上一个循环的返回值): 3 当前值 (循环遍历数组, 从 arr 开始[1]): 3 CURRENTINDEX: 2 排列: 1,2,3,4,5 --- 累加器 (在第 1 个循环中, 累加器是 arr[0], 那么它就是上一个循环的返回值): 6 当前值 (循环遍历数组, 从 arr 开始[1]): 4 CURRENTINDEX: 3 排列: 1,2,3,4,5 --- 累加器 (在第 1 个循环中, 累加器是 arr[0], 那么它就是上一个循环的返回值): 10 当前值 (循环遍历数组, 从 arr 开始[1]): 5 CURRENTINDEX: 4 排列: 1,2,3,4,5 ---
提供初始值
指定的第二个参数 (初始值) 在reduce函数中将导致initialValue作为第一个循环的累加器参数传入.
请注意,第一个循环的当前值现在从数组的第一个元素开始
工作实例
让ARR = [1,2,3,4,5];
arr.reduce(
(累加器, 当前值, CURRENTINDEX, 排列) => {
的console.log(`累加器 ( 在第 1 个循环中, 这是初始值, 然后是上一个循环的返回值): ${累加器}`);
的console.log(`CurrentValue的 (循环遍历数组, 从 arr 开始[0]): ${当前值}`);
的console.log(`CURRENTINDEX: ${CURRENTINDEX}`);
的console.log(`阵列: ${排列}`);
的console.log('---');
回累加器 + 当前值;
}, 0
);
产量
累加器 ( 在第 1 个循环中, 这是初始值, 然后是上一个循环的返回值): 0 当前值 (循环遍历数组, 从 arr 开始[0]): 1 CURRENTINDEX: 0 排列: 1,2,3,4,5 --- 累加器 ( 在第 1 个循环中, 这是初始值, 然后是上一个循环的返回值): 1 当前值 (循环遍历数组, 从 arr 开始[0]): 2 CURRENTINDEX: 1 排列: 1,2,3,4,5 --- 累加器 ( 在第 1 个循环中, 这是初始值, 然后是上一个循环的返回值): 3 当前值 (循环遍历数组, 从 arr 开始[0]): 3 CURRENTINDEX: 2 排列: 1,2,3,4,5 --- 累加器 ( 在第 1 个循环中, 这是初始值, 然后是上一个循环的返回值): 6 当前值 (循环遍历数组, 从 arr 开始[0]): 4 CURRENTINDEX: 3 排列: 1,2,3,4,5 --- 累加器 ( 在第 1 个循环中, 这是初始值, 然后是上一个循环的返回值): 10 当前值 (循环遍历数组, 从 arr 开始[0]): 5 CURRENTINDEX: 4 排列: 1,2,3,4,5 ---
