javascript - 如何合并位于同一键 javascript 上的数组?

标签 javascript

如何在 javascript 中合并这两个对象?

h1 = {12: [{actor: 'wayne'}, {actor: 'bill'}], 13: [{actor: 'james'}]}
h2 = {13: [{actor: 'mark'}]}

得到:

result = {12: [{actor: 'wayne'}, {actor: 'bill'}], 13: [{actor: 'james'}, {actor: 'mark'}]}

基本上我想根据对象的键连接数组。

最佳答案

你可以这样做:

for (var k in h2) {
   h1[k]=(h1[k]||[]).concat(h2[k]);
}

结果对象将是 h1。

Demonstration (打开控制台)

如果你想保持 h1 不变,这样做:

h3 = {};
for (var k in h1) h3[k]=h1[k].slice();
for (var k in h2) h3[k]=(h3[k]||[]).concat(h2[k]);

关于javascript - 如何合并位于同一键 javascript 上的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161964/

相关文章:

javascript - 条件模板

嵌套的 Javascript 异步函数和回调

javascript - 解析 javascript reduce 文档

javascript - 将 "in"运算符用于带有 javascript 的二维数组

javascript - Chrome扩展字符串编码

javascript - 通过将所有日期转换为 ISOString 格式,将 Javascript 数组格式化为 JSON

javascript - Storybook Addon-Docs 不显示代码片段

javascript - 如何在渲染前计算将在 ui 元素中渲染的字符数

javascript - 鼠标悬停和鼠标移出。悬停时折叠内容标题

javascript - 使用上一个 HTML 页面中的文本框值填充表格