数组扁平化
es6提供的新方法 flat(depth)
let a = [1,[2,3]];
a.flat(); // [1,2,3]
a.flat(1); //[1,2,3]flat(depth) 方法中的参数 depth,代表展开嵌套数组的深度,默认是 1.如果我们可以提前知道数组的维度,对这个数组进行扁平化处理,参数depth的值就是数组的维度减一。
或者直接设置为 infinity
let a = [1,[2,3,[4,[5]]]];
a.flat(Infinity); // [1,2,3,4,5] a是4维数组for 循环
function flatArr(arr){
var res = [];
for(let i = 0, length = arr.length; i< length; i++){
if(Array.isArray(arr[i])){
res = res.concat(floatArr(arr[i]))
} else {
res = res.concat(arr[i])
}
}
return res
}
while 循环
split 配合 toString
这个只针对 数组的项全为数字,
reduce 方法
运用了数组的 reduce 方法, 需要注意的是 reduce 方法,我们传了两个参数. 第二个参数是一个空数组,也是作为遍历的开始.
最后更新于
这有帮助吗?