JS数组合并 两个有相同键值的json合并为一个数组 双重for循环

需求:有两个后台返回的数组json串 根据相同对应的deptId第二个json中的deptName合并到第一个json中组成新的数组
在这里插入图片描述

          // this.manageList 为json1
          // this.getdeptIdList 为json2
          var listAllmanage = [], getIdIndex = {
    
    };
            for (var i = 0; i < this.getdeptIdList.length; i++) {
    
    
                for (var j = 0; j < this.manageList.length; j++) {
    
    
                    if (this.getdeptIdList[i].deptId == this.manageList[j].deptId) {
    
    
                        var item
                        if (getIdIndex[this.getdeptIdList[i].deptId] == undefined) {
    
    
                            getIdIndex[this.getdeptIdList[i].deptId] = listAllmanage.length;
                            item = {
    
    };
                            for (var attr in this.getdeptIdList[i]) item[attr] = this.getdeptIdList[i][attr];
                            listAllmanage[getIdIndex[this.getdeptIdList[i].deptId]] = item;

                        } else item = listAllmanage[getIdIndex[this.getdeptIdList[i].deptId]];
                        for (var attr in this.manageList[j]) item[attr] = this.manageList[j][attr];
                    }
                }
            }
            console.log(listAllmanage)

猜你喜欢

转载自blog.csdn.net/Start_Simple/article/details/130298841