記錄生成器函式的一個應用

鬧鬧不愛鬧發表於2019-03-14

多維陣列扁平化

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]複製程式碼


相關文章