在等待循环javascript期间访问当前迭代(索引)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在等待循环javascript期间访问当前迭代(索引)相关的知识,希望对你有一定的参考价值。

for ... of中的当前索引/迭代号

根据MDN文章for ... of循环无法让我访问当前的迭代编号:

let fruits = ["oranges", "bananas", "apples"]

for (let fruit of fruits) 
    console.log(fruit) //but no i as current iteration number

如果我想拥有它,我应该使用for ... in循环:

for (let [i] in fruits) 
  console.log(i, fruits[i]);

但是我不记得在哪里,但是最近我看到了一些带有破坏声明的“魔术”,例如:

for (let [element, index] of fruits) 
   console.log(element, index) //oranges, 0

有人可以提醒我,有可能或者可能我在梦中已经看到了吗?

UPD:似乎我在这里找到了问题第一部分的答案:

Access to ES6 array element index inside for-of loop

for (const [index, value] of [1, 2, 3, 4, 5].entries()) 
  console.log(index, value);

还有关于for await ... of循环的问题。

我有以下代码:

    for await (let V of reagent_items.map(object_element => getPricing(object_element))) 
       console.log(object_element) //I'd like to have access to current iteration.
       //or
       console.log(reagent_items[i]) //current fulfilled element from reagent.map
    

所以问题在于,该函数数组(来自.map)(V作为getPricing的单个响应)不会返回object_element本身,但我需要在[ C0]循环。

有可能吗?如果没有,使用object element会以某种方式处理此问题吗?还是应该用其他结果修改原始的for await ... ofPromise.all当前getPricing

以上是关于在等待循环javascript期间访问当前迭代(索引)的主要内容,如果未能解决你的问题,请参考以下文章

使用 Promise.all 避免等待每个单独的循环迭代

在迭代期间将对象添加到现有列表

JavaScript“document.getElementById().innerHTML”在循环中等待

在 Pyside 中执行函数期间等待按钮单击

在循环内创建的变量在 C 中的迭代期间更改值

JavaScript迭代