js数组扁平化,可以降维多层

1 数组扁平化,我尝试写了一下,但是return的结果不对,我将console.log放在最顶端,打印的结果第一次却是对的,为什么?这个递归哪里出了问题?

function steamroller(arr) {

  // I'm a steamroller, baby

var newArr = [];

console.log("steam"+arr)  //这里为什么第一次结果是对的?

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

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

    //console.log(arr[i])

      steamroller(arr[i]);

    } else {

      newArr = newArr.concat(arr[i]);

    }

  }

//console.log(newArr)

  return newArr 

}


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


慕雪6442864
浏览 779回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript