FCC题目:对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。
示例:
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]。
步骤:
1 function steamroller(arr) {
2 // I'm a steamroller, baby
3 var ayy=[];
4 function test(ay){
5 for(var i=0;i<ay.length;i++){
6 if(Array.isArray(ay[i])===true) test(ay[i]);
7 else ayy.push(ay[i]);
8 }
9 return ayy;
10 }
11
12 return test(arr);
13 }
14
15 steamroller([1, [2], [3, [[4]]]]);