【发布时间】:2015-11-22 00:48:53
【问题描述】:
从共享一个键的 JavaScript 对象中合并数组内容的最佳方法是什么?
如何将下面示例中的array 重组为output?在这里,所有value 键(无论是否为数组)都被合并到共享相同name 键的所有对象中。
var array = [
{
name: "foo1",
value: "val1"
}, {
name: "foo1",
value: [
"val2",
"val3"
]
}, {
name: "foo2",
value: "val4"
}
];
var output = [
{
name: "foo1",
value: [
"val1",
"val2",
"val3"
]
}, {
name: "foo2",
value: [
"val4"
]
}
];
【问题讨论】:
-
是
array{name:"foo1",value:"val1"}将是{name:"foo1",value:["val1"]}? -
@BG101 不,它不是一个数组,但如果有帮助,我可以提前完成
-
你试过使用 jQuery 的 extend() 方法吗?或者您是否正在尝试编写自己的合并脚本?所以可能是这样的:
var newArray = $.extend({}, array, output); -
您是否有尝试合并内容的特定方式,或者
$.extend()就足够了? -
@ZachPerkitny 我不确定 $.extend() 是否足够,因为我必须处理键值内的数组。
标签: javascript arrays