通过相同key合并两个数组

 

  var arr1 = [{Type:1,TypeHealthScore:'86'},
              {Type:2,TypeHealthScore:'100'},
              {Type:3,TypeHealthScore:'70'}
             ];

   var arr2 = [
        { typeName: "测试项目",  Type: 1 },
        { typeName: "血常规",  Type: 2 },
        { typeName: "水、及电解质代谢",Type: 3 },
      ];
        var sum = [],
          kvIndex = {};
        for (var i = 0; i < arr1.length; i++) {
          for (var j = 0; j < arr2.length; j++) {
            if (arr1[i].Type == arr2[j].Type) {
              var item;
              if (kvIndex[arr1[i].Type] == undefined) {
                kvIndex[arr1[i].Type] = sum.length;
                item = {};
                for (var attr in arr1[i]) item[attr] = arr1[i][attr];
                sum[kvIndex[arr1[i].Type]] = item;
              } else item = sum[kvIndex[arr1[i].Type]];
              for (var attr in arr2[j]) item[attr] = arr2[j][attr];
            }
          }
        }
       console.log(sum)