【发布时间】:2011-08-28 21:08:56
【问题描述】:
我想通过首先加入 id 属性来合并以下对象数组
var arr1 = [{
id: 1,
name: 'fred',
title: 'boss'
},{
id: 2,
name: 'jim',
title: 'nobody'
},{
id: 3,
name: 'bob',
title: 'dancer'
}];
var arr2 = [{
id: 1,
wage: '300',
rate: 'day'
},{
id: 2,
wage: '10',
rate: 'hour'
},{
id: 3,
wage: '500',
rate: 'week'
}];
所以结果是
[{
id: 1,
name: 'fred',
title: 'boss',
wage: '300',
rate: 'day'
},{
id: 2,
name: 'jim',
title: 'nobody',
wage: '10',
rate: 'hour'
},{
id: 3,
name: 'bob',
title: 'dancer',
wage: '500',
rate: 'week'
}]
我想避免使用 js 框架(如果可能的话),尽管 ExtJs 已经是项目的一部分。 目前我有一个带有内循环的循环,如果键匹配,它会复制属性并跳出内循环以开始下一个外循环。
有更好的建议吗?
【问题讨论】:
-
这在
.extend的帮助下使用jQuery 相对容易做到——无论如何,你能展示一下你目前拥有的代码吗?它有效吗?您在寻找优化的解决方案吗?
标签: javascript arrays object merge