首页 » 文章 » 文档 » js 常见问题 » 手写数组 flatern,考虑多层级

手写数组 flatern,考虑多层级

数组 flatern 的意思:[1,2,[3,4]] =>[1,2,3,4]

function flat(arr) {
    // 验证 arr 中,是否还有深层数组 [1,2,[3,4]]
    const isDeep = arr.some(item => item instanceof Array)
    if (!isDeep) {
        return arr // 已经是 flatern [1,2,3,4]
    }
    const res = Array.prototype.concat.apply([], arr)
    return flat(res) // 递归
}
// [1, 2, 3, 4, 5, 6, 7]
console.log(flat([1, 2, [3, 4, [5, 6]], 7]))

»js 常见问题

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll to Top