javascript - 循环并返回 ID 的数字

标签 javascript loops

我需要创建多个对象,每个对象都必须有一个 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/

相关文章:

javascript - 变量为 null(仅在 Mozilla 中)

javascript - 如何在输入类型文本中的 angularjs 中执行 name ="skills[]"?

javascript - 如果 URL = this {//执行此操作 } else {//执行此操作 }

javascript - 悬停时的 JQuery 动画循环

c - 循环 fork 并不像想象的那样工作

javascript - 如何使用 javascript 创建新列表并将列表项添加到新列表

javascript - 理解 React Router 嵌套子路由

linux - 如何在 Linux 的终端中循环执行命令?

javascript - if else 循环和 jquery 在热或冷应用程序中不起作用

c# - Unity Button OnClick AddListener 问题 - 与 For Each Loop 中最后一项的回调相同