将多嵌套数组转换为一个数组

时间:2016-09-25 20:33:02

标签: javascript arrays multidimensional-array

我想将此数组转换为一个数组,如下所示。无论数组中的嵌套级别如何,如何通过一种可行的方法来实现此目的。

var array = [1, [2], [3, [[4]]]]
//Output = [1,2,3,4] 

2 个答案:

答案 0 :(得分:2)

你可以使用递归函数。

var array = [1, [2], [3, [[4]]]];

function flatten(ar) {
  var result = [];

  ar.forEach(function(e) {
    if (Array.isArray(e)) {
      result = result.concat(flatten(e));
    } else {
      result.push(e);
    }
  })

  return result;
}

console.log(flatten(array));

答案 1 :(得分:0)

让它递归!

result = [];

function covert(array) {
for (var b in array) {
    if (typeof b === number) {
        result.push(b)
    } else {
        convert(b)
    }
}

}