用yield*命令快速取出嵌套数组中的所有成员

function* interTree(tree) {
    if (Array.isArray(tree)) {
        for (let i = 0; i < tree.length; i++) {
            yield* interTree(tree[i])
        }
    } else {
        yield tree;
    }
};
const tree=[[1,[2]],[3],4];
for(let x of interTree(tree)){
    console.log(x);
    
}
//1
//2
//3
//4

 

posted @ 2018-08-02 17:06  山楂与灰机  阅读(280)  评论(0)    收藏  举报