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仍会保留。