Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 将多个数组中的项添加到Json对象中_Angularjs_Arrays_Json_Object - Fatal编程技术网

Angularjs 将多个数组中的项添加到Json对象中

Angularjs 将多个数组中的项添加到Json对象中,angularjs,arrays,json,object,Angularjs,Arrays,Json,Object,我有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}, {system

我有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中获取计数,并使用新名称(如data2Count和Data3Count)将它们添加到data1中各自的对象中

所以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
        }
    })
})
您可以使用
Array#map
执行以下操作:

data1 [{id:1, systemName: "foo", moreInfo: "blah, data2Count: 21, data3Count: 643},
       {id:2, systemName: "boo", moreInfo: "blahBlah, data2Count: 454, data3Count: 674}]
var数据1=[
{id:1,systemName:“foo”,moreInfo:“blah”},
{id:2,systemName:“boo”,moreInfo:“blahBlah”}
]
变量数据2=[
{systemName:“foo”,计数:21},
{systemName:“boo”,计数:454}
]
变量数据3=[
{systemName:“foo”,计数:643},
{systemName:“boo”,计数:674}
]
data1=data1.map(函数(obj){
obj.data2Count=data2.filter(函数(o){
返回o.systemName==obj.systemName
})[0]。计数;
obj.data3Count=data3.filter(函数(o){
返回o.systemName==obj.systemName
})[0]。计数;
返回obj;
})

console.log(data1)
mm@tan一些问题,这是我们的chrome版本的一个问题,我们不能使用
=>
前端(doh)。我如何编辑关于使用常规“函数”的更改?非常感谢我错过了返回哈哈,继续创建数组哈哈