【发布时间】:2015-09-25 23:53:33
【问题描述】:
我有 2 个对象需要合并并保持所有属性完好无损,尝试使用 jQuery $.extend 但我无法让它工作。我尝试了所有有关如何合并 javascript 对象的帖子,但根本无法使其正常工作。
var thz_icon_source = {"Spinners":["spinnericon1","spinnericon2"],"Awesome":["awesomeicon1","awesomeicon2"]};
var fa_icon_source = {"Spinners":["faspinner1","faspinner2"],"Awesome":["faawesome1","faawesome2"]};
var new_source ={};
$.extend(new_source,fa_icon_source,thz_icon_source);
console.log(thz_icon_source);
console.log(fa_icon_source);
console.log(new_source);
想要的输出应该是这样的
{
"Spinners":["faspinner1","faspinner2","spinnericon1","spinnericon2"],
"Awesome":["faawesome1","faawesome2","awesomeicon1","awesomeicon2"]
}
这个帖子Merge two json/javascript arrays in to one array有一个简单的对象我的和那个不一样。
【问题讨论】:
-
$.extend 不能这样做,因为如果 $.extend 以 deep 参数设置为 true 的方式传递,它将覆盖它找到的属性.如果按照您使用的方式使用,它将忽略目标对象中已存在的属性。
-
@papiro 是的,注意到扩展和合并无法帮助我,似乎我需要循环并推入新的
-
@aug 不是,我试过了,它正在使用 concat 无法帮助我处理我的对象
-
@aug 在标记为重复之前尝试一下代码如何。它不是同一个对象结构。
标签: javascript jquery arrays