问题:[[0, 1], [2, 3], [4, 5]] -> [0, 1, 2, 3, 4, 5]?
方法一
利用
es5
的arr.reduce(callback[, initialValue])
实现
1 | let arr1 = [[0, 1], [2, 3], [4, 5]]; |
方法二
多维数组
1 | let arr = [[1,2],3,[[[4], 5]]] |
方法三
利用
apply
实现
1 | let arr1 = [[0, 1], [2, 3], [4, 5]]; |
方法四
利用 ES 的最新语法,
Array.prototype.flat()
。缺点是,有兼容性问题。优点是非常简单。
flat()
方法会按照一个可指定的深度递归遍历数组(默认值为1),并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
1 | let arr1 = [1, 2, [3, 4]]; |