reduce 很常用在计算累加上面。
之前介绍的方法,大多都是将阵列的值一个一个放进 callback 函式做计算,接着回传新阵列
reduce 则是将每次放进 callback 函式计算完的值,再一次一次放进 callback 函式计算,最後再回传一个值出来。
reduce 可以将原阵列的元素,由左至右,从第一个到最後一个,一个一个传进 callback 函式做计算,同时也将每一次计算完的值,一次一次地传进 callback 函式
简单范例:
var a=[1,2,3,4,5,6,7,8];
var b=a.reduce(function(sum,e){
return sum+e;
})
console.log(a); // [1,2,3,4,5,6,7,8]
console.log(b); // 36 (1+2+3+4+5+6+7+8)
参数 sum 就是上一次计算完的结果
可以印出来看看
var a=[1,2,3,4,5,6,7,8];
var b=a.reduce(function(sum,e){
console.log(sum); // 印出 1,3,6,10,15,21,28,36
return sum+e;
})
console.log(a); // [1,2,3,4,5,6,7,8]
console.log(b); // 36 (1+2+3+4+5+6+7+8)
会印出
1
3 (1+2)
6 (3+3)
10 (6+4)
15 (10+5)
21 (15+6)
28 (21+7)
36 (28+8)
语法:
reduce 会将元素以及 callback 函式运算的结果,一次一次传进 callback 函式做计算
calback 函式有四种参数
另外 callback 函式後面还可以放一个参数
Array.reduce(function callback(accumulator,currentValue,currentIndex,array){
// return
},initailValue)
<<: [Day24] - 介绍 Svelte.js 如何使用
>>: [Day13] [笔记]React Hooks-UseReducer
大家好,上一篇我们成功在Android手机上接到通知,今天我们在底部导航栏上显示通知 先设置一个变数...
确认树是不是从任意中间节点切开时,左子树值皆小於中间节点,右子树皆大於中间节点。 程序码 class...
此系列文章会同步发文到个人部落格,有兴趣的读者可以前往观看喔。 终於来到铁人赛第30天!谢谢观看我...
Instance Lifecycle Hooks Hooks到底是什麽? 中文解释就是钩子,其实Vu...
前面已经大略介绍了 HTML 和 CSS 的入门知识了,接着我们要来认识 Javascript,来...