JavaScript 中的Array運用
DEMO
方法 | 功能 | 備註 |
---|---|---|
filter | 過濾 | |
map | 重組 | |
sort | 排序 | |
reduce | 累加值計算 | 需要initial value |
reduce
// Array.prototype.reduce()
// 4. How many years did all the inventors live all together?
const totalYears = inventors.reduce((total, inventor) => {
return total + (inventor.passed - inventor.year);
}, 0);
計算交通工具使用次數
// 8. Reduce Exercise
// Sum up the instances of each of these
const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck'];
const transportation = data.reduce((obj, item) => {
if (!obj[item]) {
obj[item] = 0
}
obj[item]++;
return obj
}, {});
知識點
- reduce中文是遞減的意思,在JS中隨著陣列長度縮短進行累加
console.table(oldest);
可以將陣列以資料庫的方式印出
- 在ES6中可以直接在變數外層加上
[...]
將型別轉為陣列 - const常數在作用域下是不可修改的
補充資料