首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用存档按键自定义和元素

使用存档按键自定义和元素
EN

Stack Overflow用户
提问于 2019-02-04 19:16:26
回答 2查看 152关注 0票数 1

我确实有两个对象包含密钥,比如

代码语言:javascript
复制
var a = {bar:[1,2], foo:[7,9]}
var b = {bar:[2,2], foo:[3,1]}

我想知道休闲结果:

代码语言:javascript
复制
var c = {bar:[3,4], foo:[10,10]}

我已经有了一个for逻辑,例如:

代码语言:javascript
复制
for (let key in b) {
  if (a[key]) {
      a[key][0] += b[key][0];
      a[key][1] += b[key][1];
  } 
  else a[key] = b[key];
}

但我想以一种套路的方式来阐述这一逻辑。我该怎么做呢?

EN

Stack Overflow用户

发布于 2019-02-04 21:35:54

您可以使用普通JavaScript和Object.entriesconcatreduce来完成这一任务。

代码语言:javascript
复制
const a = { bar: [1,2], foo: [7,9] };
const b = { bar: [2,2], foo: [3,1] };

const entries = Object.entries(a).concat(Object.entries(b));

const result = entries.reduce((accum, [key, val]) => {
  accum[key] = accum[key] ? accum[key].map((x, i) => x + val[i]) : val;
  return accum;
}, { });

console.log(result);

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54522863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档