我有一个如下所示的数组
var abc = [11,2,11,3,11,4,9,5]
我实际上是将数据附加到数据表中,到目前为止它是这样的
11|2
11|3
11|4
9 |5
所以我的问题是,我希望它检查索引 0 中是否有重复/相同的值,并在索引 1 中添加所有内容,示例如下
11|9
9 |5
我有可能这样做吗?我已经尝试了以下但仍然无法正常工作
for (var a = 0; a < x.length; a++) {
if (x[0] !== -1){
alert(x[0]);
} else {
console.log("no same value found");
}
}
但仍然没有运气让它工作。感谢我能得到的任何帮助。
谢谢
您可以分两步迭代数组并获取键和值以查找同一组。
如果未找到,则向结果集中添加一个新组。
最后将值添加到组中。
var data = [11, 2, 11, 3, 11, 4, 9, 5],
result = [];
for (let i = 0; i < data.length; i += 2) {
let key = data[i],
value = data[i + 1],
group = result.find(([q]) => q === key);
if (!group) result.push(group = [key, 0]);
group[1] += value;
}
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句