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

带键和生成器的ES6 for of

唐法
2023-03-14

如果我有一个数组:

[1, 2, 3, 4, 5] - 

我可以循环使用:

for (let [i, x] of arr.entries()){..}
function* g() {
   yield 1; yield 2; yield 3;
}

最后,为什么生成器没有方法“条目”,因为它们都是可迭代的。

如果以不同的方式访问它们,那么迭代的意义何在。

共有1个答案

隆宏爽
2023-03-14

实际上,生成器的工作方式与一般的可迭代数据数据结构有点不同。只是为了好玩,如果你想从某个生成器中提取索引和值,你可以,如果你产生的东西确实有索引的话。你不能交出任何你需要的东西。

function* gen() {
 const a = [3, 5, 6];
  for (let  [key, value] of a){
   yield [key, value];
  }
}

for (let [i, x] of gen()){
  console.log(i, x);
}
 类似资料:
  • 我正在使用Laravel4.2SchemaBuilder创建一些相互引用的表,但遇到了一些问题。 我有一个简化的ERD。请注意,仅显示相关列: 请注意,我无法以任何方式修改和表,因为我正在开发一个模块以连接到现有系统。 我正在努力实现以下目标: 表包含有关表中的行的额外信息 目前,我使用以下代码创建两个表: 表的创建脚本将导致以下SQL查询: 这反过来会导致以下错误: SQLSTATE[42000

  • 问题内容: 我有以下代码: 我不确定这是否正确,但是我在互联网上发现的信息残片使我认为它应该起作用。基本上,我想分块地流式传输文件,为此,我要从应用程序函数传回一个生成器。但是,这仅打印出标题,而实际上没有发送回任何数据,有人可以告诉我为什么吗? 或者,如果这是完全错误的,那么执行此操作的最佳方法是什么?我无法将整个文件缓冲在内存中,因为我将要使用的文件可能是千兆字节。 第三级问题:一旦完成输出,

  • 这篇内容挺多的,而且比内容不好理解。或许新手看完后,还会一脸懵逼,不过这是正常的,如果你看完后,是迷糊的,那么建议你继续学习后面的内容,等学完,再回来看几次。 注:这也是我第二次修改内容没有改过的章节。 目录

  • 问题内容: 我的实体如下。我的数据模型在下面强制执行,因此我无法更改引用的完整性。因此,我陷入了复合键的困境。我想自动生成/使用一些生成器作为orderId 是的,我已经阅读以下内容。 http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#entity- mapping- identifier 我不想管理

  • 这个是stackoverflow里python排名第一的问题,值得一看: http://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do-in-python 这是中文版: http://taizilongxu.gitbooks.io/stackoverflow-about-python/content/1/READM

  • 我正在为现代浏览器开发一个JavaScript应用程序,我不需要支持旧的浏览器。我想把字体嵌入到我的CSS文件中,而不是加载它们。 现在,当我使用Font Squirrel的@font-face生成器时,使用“base64 encode”--它只为我提供WOFF类型的数据URI,而不是TTF类型的数据URI。 它为什么要这么做?