题目链接2649. 嵌套数组生成器 - 力扣LeetCode思路首先要知道什么是 generator 函数是 ES 6 引入的一种特殊函数可以暂停执行和恢复执行基本语法就是 使用 function* 并且使用 yield 字段 yield 字段可以委托给 另外一个 generator 函数yield 字段代表 暂停 yield* 代表 委托代码/** * 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 */
嵌套数组生成器题解
题目链接2649. 嵌套数组生成器 - 力扣LeetCode思路首先要知道什么是 generator 函数是 ES 6 引入的一种特殊函数可以暂停执行和恢复执行基本语法就是 使用 function* 并且使用 yield 字段 yield 字段可以委托给 另外一个 generator 函数yield 字段代表 暂停 yield* 代表 委托代码/** * 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 */