【问题标题】:Angular Adding items from multiple arrays into Json objectAngular将多个数组中的项目添加到Json对象中
【发布时间】:2017-06-06 12:27:38
【问题描述】:

我有3组Json数据

data1 [{id:1, systemName: "foo", moreInfo: "blah},
       {id:2, systemName: "boo", moreInfo: "blahBlah}]


data2 [{systemName: "foo",count: 21},
       {systemName: "boo",count: 454}]

data3 [{systemName: "foo",count: 643},
       {systemName: "boo",count: 674}]

我需要的是从数据 2 和 3 中获取计数,并将它们添加到 data1 中各自的对象中,并使用新名称,如 data2Count 和 Data3Count

所以 data1 看起来像这样:

data1 [{id:1, systemName: "foo", moreInfo: "blah, data2Count: 21, data3Count: 643},
       {id:2, systemName: "boo", moreInfo: "blahBlah, data2Count: 454, data3Count: 674}]

目前我只能做到这一点:

data1 [{id:1, systemName: "foo", moreInfo: "blah"}
       {id:2, systemName: "boo", moreInfo: "blahBlah"} data2Count: 454]

使用:

angular.forEach(data1, function(value1, key1) {
    angular.forEach(data2, function(value0, key0) {
        if (value1.systemName === value1.systemName) {
            $scope.sysFlow.data2Count = value1.count
        }
    })
})

【问题讨论】:

    标签: angularjs arrays json object


    【解决方案1】:

    你可以使用Array#map 来做这样的事情:

    var data1 = [
        {id:1, systemName: "foo", moreInfo: "blah"},
        {id:2, systemName: "boo", moreInfo: "blahBlah"}
      ]
    
    
    var data2 = [
        {systemName: "foo",count: 21},
        {systemName: "boo",count: 454}
      ]
    
    var data3 = [
        {systemName: "foo",count: 643},
        {systemName: "boo",count: 674}
      ]
      
    data1 = data1.map(function(obj) {
    
      obj.data2Count = data2.filter(function(o) {
        return o.systemName === obj.systemName
      })[0].count;
    
      obj.data3Count = data3.filter(function(o) {
        return o.systemName === obj.systemName
      })[0].count;
    
      return obj;
    })
    
    console.log(data1)

    【讨论】:

    • mm @tan 几个问题,这是我们的 chrome 版本的问题,我们不能使用 => 前端(doh)我如何编辑更改 th aboue 以使用常规“函数” `` ??
    • 非常感谢我错过了返回哈哈,继续创建一个数组哈哈
    猜你喜欢
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    相关资源
    最近更新 更多