我有一个看起来像这样的数组:
currArray =
[
['a', 2],
['b', 3],
['c', 5],
['a', 2],
['b', 4],
['d', 6]
]
我试图合并在[0]处具有相同值的数组,同时在[1]处添加值。因此输出如下所示:
newArray =
[
['a', 4],
['b', 7],
['c', 5],
['d', 6]
]
目前正在通过Vanilla JavaScript和lodash进行尝试。
任何建议深表感谢。
您可以使用Array.reduce()
:
const currArray = [
['a', 2],
['b', 3],
['c', 5],
['a', 2],
['b', 4],
['d', 6]
];
const result = currArray.reduce((res, [key, val]) => {
const correspondingArr = res.find(arr => arr[0] === key);
if (correspondingArr) {
correspondingArr[1] += val;
} else {
res.push([key, val]);
}
return res;
}, []);
console.log(result);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句