小编Rus*_*yev的帖子

How to collapse multidimensional array

How to do that?

unpack_array([1, [10, 30, 40,[34,53],4],2]) -> [1,10,30,40,34,53,4,2]
Run Code Online (Sandbox Code Playgroud)

I know that recursion must be applied. I tried, but it turns out to work only in one direction.

function unpack_array (arr, acc_arr=[]) {
  if (!arr) return acc_arr;
  let i = 0;
  while (arr[i] && !Array.isArray(arr[i])) {
    acc_arr.push(arr[i++])
  }
  return unpack_array(arr[i], acc_arr)
}
Run Code Online (Sandbox Code Playgroud)

I believe that here need to use the "reduce" method.

javascript recursion multidimensional-array

1
推荐指数
1
解决办法
55
查看次数