javascript 对象按属性#js #object合并

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 对象按属性#js #object合并相关的知识,希望对你有一定的参考价值。

/***************************************************/
/** Merge 2 arrays of objects using underscore.js **/
/***************************************************/

//arr2 will be merged into arr1, arr1 will be extended as needed.

var arr1 = [{name: "lang", value: "English"}, {name: "age", value: "18"}];
var arr2 = [{name : "childs", value: '5'}, {name: "lang", value: "German"}];

function mergeByProperty(arr1, arr2, prop) {
    _.each(arr2, function(arr2obj) {
        var arr1obj = _.find(arr1, function(arr1obj) {
            return arr1obj[prop] === arr2obj[prop];
        });
         
        //If the object already exist extend it with the new values from arr2, otherwise just add the new object to arr1
        arr1obj ? _.extend(arr1obj, arr2obj) : arr1.push(arr2obj);
    });
}

mergeByProperty(arr1, arr2, 'name');

console.log(arr1);
//[{name: "lang", value: "German"}, {name: "age", value: "18"}, {name : "childs", value: '5'}]

以上是关于javascript 对象按属性#js #object合并的主要内容,如果未能解决你的问题,请参考以下文章

按对象属性对 javascript 对象数组进行排序

如何使用javascript在嵌套对象数组中按属性分配值

JS中 对象数组按某一属性去重 校验是否有重复数据

按对象属性对 javascript 对象数组进行排序

javascript 按对象属性从数组中删除JS对象

javascript 对象按属性#js #object合并