合并2个数组对象 [英] Merge 2 arrays of objects
本文介绍了合并2个数组对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
让我们看看一个例子。
VAR ARR1 =新的Array({名:郎,值:英语},{名字:年龄,值:18});
VAR ARR2 =新的Array({名:童车,值:'5'},{名字:郎,值:德国});
我需要合并这2个数组对象,并创建以下数组。
ARR3 =新的Array({名:郎,值:德国},{名字:年龄,值:18},{名字:童车值:'5'});
有没有JScript或jQuery的功能来做到这一点?
$。延长不适合我。它返回
arr4 =新的Array({名:童车,值:'5'},{名字:郎,值:德国});
在此先感谢,
亚历山大。
解决方案
VAR ARR3 = [];
对(在ARR1变种I){
VAR共享= FALSE;
对(在ARR2变种j)条
如果(ARR2 [J]。名称== ARR1 [我]。名称){
共享= TRUE;
打破;
}
如果(!共享)arr3.push(ARR1 [I])
}
ARR3 = arr3.concat(ARR2);
Lets have a look an example.
var arr1 = new Array({name: "lang", value: "English"}, {name: "age", value: "18"});
var arr2 = new Array({name : "childs", value: '5'}, {name: "lang", value: "German"});
I need to merge this 2 arrays of objects and create the following array.
arr3 = new Array({name: "lang", value: "German"}, {name: "age", value: "18"}, {name : "childs", value: '5'});
Is there any jScript or jQuery function to do this?
$.extend doesn't suit me. It returns
arr4 = new Array({name : "childs", value: '5'}, {name: "lang", value: "German"});
Thanks in advance, Alexander.
解决方案
var arr3 = [];
for(var i in arr1){
var shared = false;
for (var j in arr2)
if (arr2[j].name == arr1[i].name) {
shared = true;
break;
}
if(!shared) arr3.push(arr1[i])
}
arr3 = arr3.concat(arr2);
这篇关于合并2个数组对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文