【发布时间】:2021-03-15 19:15:31
【问题描述】:
我的输入是这样的数组:
[7, 7, 7, 7, 4, 4, 5, 5, 5, 1, 9, 2, 7, 7]
我想将这些数字组合在一起并将它们相加,但要按邻居,而不是按数组中的总数。所以输出将是:
['7:4', '4:2', '5:3', 1, 9, 2, '7:2']
我使用reduce 尝试了几种不同的方法,并且很接近,但使用内置的 Javascript 方法我最终计算了数组中的 ALL,而不是邻居。
const firstArray = [7, 7, 7, 7, 4, 4, 5, 5, 5, 1, 9, 2, 7, 7];
const masterArray = [];
const unique = new Set (numberArray); // Set {7, 4, 5, 1, 9, 2, 7}
unique.forEach(u => {
masterArray.push(numberArray.filter(e => e === u));
});
console.log(masterArray);
在这里使用 Set 显然是错误的,因为它会获取唯一值并计算它们,但我只想通过邻居来做。所以我想我应该使用reduce,但我遇到了同样的问题。
【问题讨论】:
标签: javascript arrays sorting arraylist foreach