嵌套的数组进行扁平化处理

来源:互联网 发布:开机很久网络连接 编辑:程序博客网 时间:2024/05/24 20:07

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

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]]]]);