小编sub*_*117的帖子

在Javascript中展平第n个嵌套数组的迭代解决方案

任何人都可以向我展示以下问题的迭代解决方案吗?我递归地解决了它,但是在迭代解决方案上挣扎.(Facebook技术访谈问题)

Input: [1, {a: 2}, [3], [[4, 5], 6], 7]
Output: [1, {a: 2}, 3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)

解决方案必须适用于第n个嵌套数组元素(即如果有人修改了上面示例中的数组值/位置,它仍然可以工作)

递归解决方案:

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

    input.forEach(function(element) {
        result = result.concat(Array.isArray(element) ? flatten(element) : element);
    });

    return result;
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays function

9
推荐指数
2
解决办法
2931
查看次数

标签 统计

arrays ×1

function ×1

javascript ×1