使用生成器处理嵌套的数组结构

106 阅读1分钟

yield*命令可以很方便地取出嵌套数组的所有成员。

     function* handleArray(arr){
            if(Array.isArray(arr)){
                for(let i=0;i<arr.length;i++){
                    yield* handleArray(arr[i])
                }
            }else{
                yield arr
            }
      }
    const a1 = ['a',['b','c'],['d',['e','f']]]
    for (const item of handleArray(a1)) {
      console.log(item)//a,b,c,d,e,f
    }