展平嵌套数组

时间:2017-03-01 03:33:03

标签: javascript arrays flatten

我试图压扁嵌套数组但我未定义。我最近学习了var list2 = [0, [1, [2, [3, [4, [5]]]]]]; function flat3(arr){ arr.reduce(function(result, val, index){ if(Array.isArray(val)){ result = result.concat(val); flat3(val); } else { result.push(val); } return result; }, []); } console.log(flat3(list2));,并尝试应用相同的逻辑。



{{1}}




我未定义。为什么?我错过了什么?

1 个答案:

答案 0 :(得分:2)

您没有为flat3返回值。这就是你要找的东西:



var list2 = [0, [1, [2, [3, [4, [5]]]]]];

function flat3(arr) {
  return arr.reduce(function(result, val, index) {
    if (Array.isArray(val)) {
      result = result.concat(flat3(val));
    } else {
      result.push(val);
    }
    return result;
  }, []);
}

console.log(flat3(list2));