JavaScript如何把两个数组合并成一个数组(如果一个属性相同,把第二个数组中的项加入第一个数组);(比较绕直接看代码吧)
巴扎黑
巴扎黑 2017-04-10 17:00:36
0
2
461
    var obj1 = [
        {index: 1,name: "权限1"},
        {index: 2,name: "权限2"},
        {index: 3,name: "权限3"},
        ];
    
    
    var obj2 = [
        {category: "权限1",index: 1,tag: "权限1-1"},
        {category: "权限2",index: 2,tag: "权限2-2"},
        {category: "权限3",index: 3,tag: "权限3-3"},
        {category: "权限1",index: 4,tag: "权限1-1"},
        {category: "权限2",index: 5,tag: "权限2-2"},
        {category: "权限3",index: 6,tag: "权限2-2"},
        ];
        

    var newObj = [
        {index: 1,name: "权限1",arr:[{tag:"权限1-1"},{tag:"权限1-1"}]},
        {index: 2,name: "权限2",arr:[{tag:"权限2-2"},{tag:"权限2-2"}]},
        {index: 3,name: "权限3",arr:[{tag:"权限3-3"},{tag:"权限3-3"}]},
        ];

有obj1和obj2两个数组,判断obj1的“name”和obj2的"category"值是否相同,如果相同就把obj2的“tag”属性放入obj1中形成数组。(说的比较饶,直接看结果的样子就好了)
最后能形成newobj的样子。(伸手党骂我吧,给个结果就行!)

巴扎黑
巴扎黑

全部回复(2)
洪涛
var newObj2 = [];
for(var i=0 ; i < obj1.length; i++) {
    var nameO1 = obj1[i].name;
    var arr = [];
    for(var j=0; j < obj2.length ; j++) {
        var nameO2 = obj2[j].category;
        if(nameO1 === nameO2) {
            arr.push(obj2[j].tag);
        }
    }
    // clone obj
    var clonedObj = JSON.parse(JSON.stringify(obj1[i]))
    clonedObj.arr = arr;
    newObj2.push(clonedObj);
}

console.log(newObj2)
左手右手慢动作

你的newObj错了。index3的arr里面应该是3-3和2-2

var obj1 = [
    {index: 1,name: "权限1"},
    {index: 2,name: "权限2"},
    {index: 3,name: "权限3"},
    ];


var obj2 = [
    {category: "权限1",index: 1,tag: "权限1-1"},
    {category: "权限2",index: 2,tag: "权限2-2"},
    {category: "权限3",index: 3,tag: "权限3-3"},
    {category: "权限1",index: 4,tag: "权限1-1"},
    {category: "权限2",index: 5,tag: "权限2-2"},
    {category: "权限3",index: 6,tag: "权限2-2"},
    ];

var t = {};

obj1.forEach(function(v) {
    t[v.name] = [];
});

obj2.forEach(function(v) {
    if (v.category in t) {
        t[v.category].push(v.tag);
    }
});

obj1.forEach(function(v) {
    v["arr"] = t[v.name]
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板