我需要创建多个对象,每个对象都必须有一个 ID。
它们全部都在一个数组中。
所以它看起来像这样:
const array = [
{
id: 1,
bla: "bla"
},
{
id: 2,
bla: "bla"
},
{
id: 3,
bla: "bla"
}
]
我的问题是,有没有办法创建一个函数,它将返回一个我可以放入这些 id 中的数字?
最佳答案
您可能需要我们所说的生成器/迭代器。
生成器/迭代器是具有内部状态的函数。
在 js 中,它是通过在“function”旁边添加“*”并使用“yield”关键字而不是“return”来创建的(请参阅 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/yield )。
当调用生成器时,它会保存给定的参数并返回一个迭代器,您可以在迭代器上调用 .next() 来获取下一个值(注意返回具有“value”属性的对象)。
function* idGenerator (startingIndex) {
while (true){
//the iterator will keep his inner state
startingIndex += 1;
yield startingIndex;
}
}
关于javascript - 循环并返回 ID 的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69620900/