记录生成器函数的一个应用 闹闹不爱闹 2019-03-14 149 阅读1分钟 多维数组扁平化var arr = [1, [2, [3,4,5,[6,[7]]]],8]; function* flat(arr) { for (const v of arr) { if (Array.isArray(v)) { yield* flat(v) } else { yield v } } } var arr2 = [...flat(arr)]; // [1,2,3,4,5,6,7,8]