1. apply方法
var arr = [[1, 2], [3, 4], [5, 6]];
var newArr = Array.prototype.concat.apply([], arr);
2. reduce方法
var arr = [[1, 2], [3, 4], [5, 6]];
var newArr = arr.reduce(function(a, b) {
return a.concat(b)
});
3. 遍历
var arr = [[1, 2], [3, 4], [5, 6]];
function flatten(arr) {
return [].concat( ...arr.map(item => Array.isArray(item) ? flatten(item) : item)
}
var newArr = flatten(arr)
4. ES6 flat
var arr = [[1, 2], [3, 4], [5, 6]];
var newArr = arr.flat();
5. 补充 flat
flat为ES6语法,所以会有兼容性问题,arr.flat(n) 其中n代表降维深度;
flat()方法会移除数组中的空项。但undefined、null仍会保留。