嵌套数组生成器题解

题目链接

2649. 嵌套数组生成器 - 力扣(LeetCode)

思路

首先要知道什么是 generator 函数,是 ES 6 引入的一种特殊函数,可以暂停执行和恢复执行

基本语法就是 使用 function* 并且使用 yield 字段 yield 字段可以委托给 另外一个 generator 函数

yield 字段代表 暂停 yield* 代表 委托

代码

javascript 复制代码
/**
 * @param {Array} arr
 * @return {Generator}
 */
var inorderTraversal = function* (arr) {

    for (const item of arr) {
        if (Array.isArray(item)) {
            yield* inorderTraversal(item)
        }
        else {
            yield item
        }
    }
};

/**
 * const gen = inorderTraversal([1, [2, 3]]);
 * gen.next().value; // 1
 * gen.next().value; // 2
 * gen.next().value; // 3
 */
相关推荐
灵感__idea5 小时前
Hello 算法:贪心的世界
前端·javascript·算法
小成202303202656 小时前
Linux高级02
linux·开发语言
知行合一。。。6 小时前
Python--04--数据容器(总结)
开发语言·python
咸鱼2.06 小时前
【java入门到放弃】需要背诵
java·开发语言
ZK_H6 小时前
嵌入式c语言——关键字其6
c语言·开发语言·计算机网络·面试·职场和发展
A.A呐7 小时前
【C++第二十九章】IO流
开发语言·c++
椰猫子7 小时前
Java:异常(exception)
java·开发语言
lifewange7 小时前
pytest-类中测试方法、多文件批量执行
开发语言·python·pytest
cmpxr_7 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
2401_827499997 小时前
python项目实战09-AI智能伴侣(ai_partner_5-6)
开发语言·python