javascript - 如何递归合并 2 个 javascript 对象?

标签 javascript jquery arrays

我有 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有一个简单的对象我的和那个不一样。

最佳答案

Demo

function mergeJSON(json1,json2)
{
    var result = json1 ;
    for (var prop in json2) 
    {
        if (json2.hasOwnProperty(prop)) 
        {
            result[prop] = result[prop].concat(json2[prop]);
        }
    }
    return result;
}

关于javascript - 如何递归合并 2 个 javascript 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32792185/

相关文章:

javascript - 为每个返回的元素获取一个 div

javascript - 分组行中的小计

javascript - 如何设计带有子列表的列表,子列表应显示在父列表的悬停上

javascript - $.each 奇怪的索引,当只有一个存在时

javascript - 根据嵌套对象数组中的动态键过滤数组

java - 如果数组已满,则将数组大小加倍

javascript - x 轴上的绘图带无法按时工作

javascript - 理解 JavaScript 中的 Promise

javascript - Div 元素顶部的水印效果

c - 数组的长度在传递函数后发生变化