使用generator压平一个数组

2019-12-20  本文已影响0人  sorry510
function* iter(tree) {
    if(Array.isArray(tree)) {
        for(let v of tree) {
            yield* flat(v)
        }
    }else {
        yield tree
    }
}

function flat(arr) {
  return [...iter(arr)]
}
const arr = [1, [2,[3],4], 5]
const arr2 = flat(arr)
console.log(arr2)
上一篇 下一篇

猜你喜欢

热点阅读