如何在不使用for循环的情况下遍历FormData entry()数组

时间:2020-02-05 05:13:23

标签: javascript iteration eslint

我尝试遍历FormData entry()对象。 ESlint给我一个错误,我真的不应该按照下面的方式进行操作: iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations.

for (const row of data.entries()) {
  const search = row[0].replace('internal_', '');

  if (search.length > 0 && search.substr(1, 3) !== 'ext') {
    currentCTX.data[search][2] = row[1];
  }
  const currentData = JSON.stringify(currentCTX.data);
  const { feedId } = window;
  const params = { userSave: currentData, id: parseInt(feedId, 10), channel: 'import' };
  const res = fetchData(`${apiUrl}mapping`, params).then(() => window.location = '/');
}

但是entries()没有forEach(),所以我不能使用它。

做上述事情的一种干净方法是什么?

1 个答案:

答案 0 :(得分:2)

代替使用for..of,将.entries()迭代器扩展到一个数组中,以便可以在其上使用forEach

[...data.entries()].forEach((row) => {
  // ...