编辑代码

//程序运行完成时一定要有输出语句,本工具才能正确展示运行结果。 
//程序运行完成时一定要有输出语句,本工具才能正确展示运行结果。 
var arr = [1,2,3,[4,5,[6,7]],8];
var flat = function*(a) {
    var length = a.length;
    for (let i = 0; i< length; i++) {
        const item = a[i];
        if(typeof item !== 'number') {
            yield * flat(item);
        } else {
            yield item;
        }
    }
}
for(var f of flat(arr)) {
    console.log(f);
}