在ES6中,我们可以通过散布运算符将数组展平...:
function flattenES6(arr) { return [].concat(...arr); } var arrL1 = [1, 2, [3, 4]]; console.log(flattenES6(arrL1)); // [1、2、3、4]
在ES5中,我们可以通过实现该目标。apply():
function flatten(arr) { return [].concat.apply([], arr); } var arrL1 = [1, 2, [3, 4]]; console.log(flatten(arrL1)); // [1、2、3、4]
给定一个像这样的深度嵌套数组
var deeplyNested = [4,[5,6,[7,8],9]];
可以用这种魔法压扁
console.log(String(deeplyNested).split(',').map(Number); #=> [4,5,6,7,8,9]
要么
const flatten = deeplyNested.toString().split(',').map(Number) console.log(flatten); #=> [4,5,6,7,8,9]
以上两种方法仅在数组仅由数字组成时才起作用。使用此方法无法展平对象的多维数组。