Как перебрать массив FormData records () без использования цикла for - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь перебрать объект FormData records (). 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 Ответ

2 голосов
/ 05 февраля 2020

Вместо использования for..of распределите итератор .entries() в массив, чтобы вы могли использовать для него forEach:

[...data.entries()].forEach((row) => {
  // ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...