FCC----------- Steamroller

对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。


这是对你有帮助的资源:

Array.isArray()


  • 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 res = [];
judgeArray(arr, res);

function judgeArray(arr, res){

  for(var i=0; i<arr.length; i++){

    if(Array.isArray(arr[i])){

       judgeArray(arr[i], res);

     }else{

       res.push(arr[i]);

     }

  }
 }  
 return res; 
 }

steamroller([1, [2], [3, [[4]]]]);

猜你喜欢

转载自blog.csdn.net/tian_123456789/article/details/77530395