尝试从API返回的两个对象中创建一个对象数组

时间:2017-05-10 14:55:37

标签: javascript angularjs arrays

我有一个项目,在一个实例中,我返回一个包含三个独立对象数组的对象。

像这样...

[
   Array 1:[
    { key: value}
   ],
   Array 2:[
    { key: value},
    { key: value}
   ],
   Array 2:[
    { key: value},
    { key: value}
   ]
]

我尝试做的是获取这个多个对象数组,并使其成为包含这三个对象的单个数组。

我尝试使用angular.forEach并循环遍历它们并将它们推入新数组,但它无效。

var newArray = [];

angular.forEach(result, function(value, key){
   newArray.push(value);
});

return newArray;

真的可以在这个上使用一些建议!

谢谢!

2 个答案:

答案 0 :(得分:4)

您可以使用concat()并传播语法。



var arr = [[{ key: 'value'}],[{ key: 'value'},{ key: 'value'}],[{ key: 'value'},{ key: 'value'}]]

var result = [].concat(...arr);
console.log(result)




答案 1 :(得分:0)

您可以使用reduce方法,该方法接受callback提供的功能。

var arr = [[{ key: 'value'}],[{ key: 'value'},{ key: 'value'}],[{ key: 'value'},{ key: 'value'}]]

var array = arr.reduce(function(obj,item){
    obj.push(...item);
    return obj;
},[]);
console.log(array)