当前位置: 首页 > 知识库问答 >
问题:

如何使循环迭代枚举的每个项,并验证每次重复是否在正确的枚举中

佴保臣
2023-03-14

我想知道如何创建一个循环,为枚举的每个项重复,并仍然验证我在正确的枚举(索引)中

 for('for each or for in?') {
      if (list.names === enum) {
         console.log(enum)
    }
 }


enum = {
  JAMES: 'James',
  MARCO: 'Marco',
  Jane: 'Jane'
}

这段代码只是我想做的一个示例,对每种类型的枚举重复循环,然后验证我是否在第一个、第二个枚举中,等等,然后打印当前枚举

  for (const newNames in enum) {
    console.log(newNames[enum])
  }

共有1个答案

汪泓
2023-03-14

下面是一个快速的代码片段,展示了您的选项,但是您只需要中...的

const obj = {
  JAMES: 'James',
  MARCO: 'Marco',
  Jane: 'Jane'
}

// for..in and access the value as normal - obj[key]
for (const key in obj) {
  console.log(`key: ${key}, obj[key]: ${obj[key]}`);
}

// for...of return an iterable of the object using Object.entries()
for (let [key, value] of Object.entries(obj)) {
  console.log(`key: ${key}, value: ${value}`);
}

// for...of turn the iterator into an array into an iterator and also get the indexes
for (let [i, [key, value]] of [...Object.entries(obj)].entries()) {
  console.log(`i: ${i}, key: ${key}, value: ${value}`);
}

 类似资料:
  • 我在一个扩展名为的单独文件中创建了以下张贴的颜色枚举。我想知道如何在发布的代码中使用或调用中的枚举,以便能够迭代抛出它。换句话说,如何循环遍历下面发布的枚举,以便设置for,以及当。 显然,双问题mart将被通过枚举的迭代所取代。

  • 问题内容: 是否可以在Java中定义类似的内容? C#代码: 例如,如果设置为then,结果将为: 我想实现类似的东西!Java有可能吗? 问题答案: 好吧,您 几乎 可以做到: 然后: 在某些情况下,这可能很有用,但是正如Michael所说,您绝对应该考虑一般的“值集”选项。 如果 确实 决定使用带值的枚举,则可以在枚举本身内放入额外的逻辑:

  • 我对Java中枚举类型中的值()方法是如何工作的有点好奇。如Java规范文档中所见,我们可以在a中为每个循环遍历某个枚举类型的所有值。例如。 我认为对于每个循环,迭代所有值。在这个调用中,我们在每个循环调用中重复调用一个方法,那么它将如何迭代所有枚举类型或值()方法使用某种迭代器。有人能帮我记录下这个方法的实现吗?

  • 有没有更好的办法解决这个问题?

  • 问题内容: 是否可以使用Lambda表达式进行迭代?以下代码段的Lambda表示形式是什么: 我在其中找不到任何流。 问题答案: 如果您不喜欢在迭代开始之前将全部内容复制到(临时)列表中的事实,则可以使用简单的实用程序方法来帮助自己: 然后,您可以简单地进行操作(注意该功能)…