average
Returns the average of two or more numbers.
Use Array.prototype.reduce() to add each value to an accumulator, initialized with a value of 0, divide by the length of the array.
const average = (...nums) => nums.reduce((acc, val) => acc + val, 0) / nums.length;
EXAMPLES
average(...[1, 2, 3]); // 2
average(1, 2, 3); // 2
其實就是使用reduce 的加總 再除以 陣列的長度得到總和。
大概就是要先搞清楚陣列的用法。### 個人分析
1.Array.prototype.reduce()
es6 的reduce()感覺就是個萬用方法, (讓數組中的前項和後項做某種計算,並累計最終值)
let arr = [1,2,3,4,5];
let result = arr.reduce((prev, cur, index, arr)=> {
return prev + cur;
});
callbackFunction 包含4個參數,先解釋下它們的意思:
如果想自定義初始值,那可以給reduce添加第二個參數(initialValue),如下
arr.reduce(callback(accumulator, currentValue, index, array), initialValue)