gpt4 book ai didi

javascript - 从数组构造生成器函数

转载 作者:行者123 更新时间:2023-11-30 11:47:38 26 4
gpt4 key购买 nike

我正在尝试从数组构建生成器函数。最简单的例子是:

    const array = [1,2,3,4]

function * createGenerator () {
array.map(function(elem){
yield elem
}
}

我希望:

function * createGenerator () {
yield 1
yield 2
yield 3
yield 4
}

此外,如果我想添加这样的 switch 语句:

function processServerActions (array) {
for (let elem in array) {
switch(elem) {
case 1:
yield 1111
case 2:
yield 22222
case 3:
yield 333333
yield 444444
case 4:
yield 55555
}
}

}

但是不工作。我错过了什么?

谢谢!

最佳答案

回调只能返回回调。对于 yield 生成器函数,yield 必须在函数内部,但在嵌套回调之外。

最好使用 for ... of 来产生一个值。

function* createGenerator() {
for (let elem of array){
yield elem;
}
}

const array = [1,2,3,4],
c = createGenerator();

console.log([...c]);

你需要 for (let elem of array) with of 而不是 in

function* createGenerator() {
for (let elem of array) {
switch(elem) {
case 1:
yield 1111;
break;
case 2:
yield 22222;
break;
case 3:
yield 333333;
yield 444444;
break;
case 4:
yield 55555;
}
}
}

const array = [1,2,3,4],
c = createGenerator();

console.log([...c]);

关于javascript - 从数组构造生成器函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40410393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com