I have array like this
var arr = [
[ {"c": 1},{"d": 2} ],
[ {"c": 2},{"d": 3} ]
]
我希望能够通过JavaScript将其更改(仅限于JavaScript)。
var newArr = [{"c": 1},{"d": 2},{"c": 2},{"d": 3}]
我尝试使用map方法,但没有得到预期的输出。
I have array like this
var arr = [
[ {"c": 1},{"d": 2} ],
[ {"c": 2},{"d": 3} ]
]
var newArr = [{"c": 1},{"d": 2},{"c": 2},{"d": 3}]
您可以使用reduce()
和展开语法。
var arr = [
[ {"c": 1},{"d": 2} ],
[ {"c": 2},{"d": 3} ]
]
var result = arr.reduce((r, e) => (r.push(...e), r), [])
console.log(result)
Array#reduce
与 Array#concat
。
var arr = [[{ c: 1 }, { d: 2 }], [{ c: 2 }, { d: 3 }]],
result = arr.reduce((r, a) => r.concat(a), []);
console.log(result)
ES5
var arr = [[{ c: 1 }, { d: 2 }], [{ c: 2 }, { d: 3 }]],
result = arr.reduce(function (r, a) { return r.concat(a); }, []);
console.log(result)
Array.portotype.forEach
来实现此功能。
var arr = [
[ {"c": 1},{"d": 2} ],
[ {"c": 2},{"d": 3} ]
];
var newArray = [];
arr.forEach(function(e){
e.forEach(function(e1){
newArray.push(e1);
});
})
console.log(newArray);