对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。
function steamroller(arr) {
// I'm a steamroller, baby
var newArr=[];
getArr(arr,newArr);
return newArr;
}
function getArr(arr,newArr){
for(var i=0;i<arr.length;i++){
if(Array.isArray(arr[i])){
getArr(arr[i],newArr);
}else{
newArr.push(arr[i]);
}
}
return newArr;
}
steamroller([1, [2], [3, [[4]]]]);
注意:Array.isArray()是静态方法,必须通过Array调用,不能通过实例调用。
网友评论