在 JavaScript 中查詢所有唯一元素的總和
我們需要編寫一個 JavaScript 函式,此函式針對包含重複項的數字陣列,並將所有重複項的和求和到一個索引中。
例如:如果輸入陣列為 −
const input = [1, 3, 1, 3, 5, 7, 5, 4];
輸出
則輸出應為 −
const output = [2, 6, 7, 10, 4];
// 所有重複的 1 求和到索引 0
// 所有重複的 3 求和到索引 1,以此類推。
因此,我們寫出此函式的程式碼 −
示例
程式碼如下 −
const input = [1, 3, 1, 3, 5, 7, 5, 4]; const mergeDuplicates = arr => { const map = arr.reduce((acc, val) => { if(acc.has(val)){ acc.set(val, acc.get(val) + 1); }else{ acc.set(val, 1); }; return acc; }, new Map()); return Array.from(map, el => el[0] * el[1]); }; console.log(mergeDuplicates(input));
輸出
控制檯中的輸出將為 −
[ 2, 6, 10, 7, 4 ]
廣告