JS数组合并和求和 [英] JS arrays merge and sum
本文介绍了JS数组合并和求和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有数组
{"BS-WHITE":3,"BS-BOX":1}//input value
{"BS-WHITE":2,"BS-BOX":0,"BS-WHITE-1":1}//output value
我想将它们合并以得到像这样的数组中的数组:
And I would like to merge them to get arrays in array something like this:
[["BS-WHITE",3,2],["BS-BOX",1,0],["BS-WHITE-1",0,1]]
如果不存在该值,则应为0.
If value doesn't exist should be 0.
推荐答案
尚不清楚您是否需要输出对象或数组.
It's not clear if you want an output object or array.
无论如何..您可以尝试以下类似的方法.
Anyways..You can try something like below.
如果需要输出数组.
a = {"BS-WHITE":3,"BS-BOX":1}//input value
b = {"BS-WHITE":2,"BS-BOX":0,"BS-WHITE-1":1}
c = [...new Set([...Object.keys(a), ...Object.keys(b)])];
result = c.map((key) => {
return {
[key]: [(a[key] || 0), (b[key] || 0)]
}
});
console.log(result);
如果需要输出对象.
a = {"BS-WHITE":3,"BS-BOX":1}//input value
b = {"BS-WHITE":2,"BS-BOX":0,"BS-WHITE-1":1}
c = [...new Set([...Object.keys(a), ...Object.keys(b)])];
result = c.reduce((acc,key) => {
acc[key] = [(a[key] || 0), (b[key] || 0)]
return acc;
}, {});
console.log(result);
如果您需要数组数组
a = {"BS-WHITE":3,"BS-BOX":1}//input value
b = {"BS-WHITE":2,"BS-BOX":0,"BS-WHITE-1":1}
c = [...new Set([...Object.keys(a), ...Object.keys(b)])];
result = c.map(key => {
return [key , (a[key] || 0), (b[key] || 0)]
});
console.log(result);
这篇关于JS数组合并和求和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文