对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。
steamroller([[["a"]], [["b"]]]) 应该返回
["a", "b"]。
steamroller([1, [2], [3, [[4]]]]) 应该返回
[1, 2, 3, 4]。
steamroller([1, [], [3, [[4]]]]) 应该返回
[1, 3, 4]。
steamroller([1, {}, [3, [[4]]]]) 应该返回
[1, {}, 3, 4]。
function steamroller(arr) {
var result=[];getElement(arr,result);
return result;
}
function getElement(arr,result){
for(var i=0;i<arr.length;i++){
if(arr[i] instanceof Array){
getElement(arr[i],result);
}else{
result.push(arr[i]);
}
}
return result;
}
steamroller([{},1, [2], [3, [[4]]]]);
本文介绍了一种处理多级嵌套数组的方法,并提供了一个名为steamroller的函数实现。该函数能够将任意层级的嵌套数组展开为单一维度的数组。示例包括字符串和数字的数组,展示了如何保留非数组元素。
363

被折叠的 条评论
为什么被折叠?



