Рефакторинг с добавлением - PullRequest
0 голосов
/ 25 октября 2019

Использование ESLint заставило меня изменить for..in, и я решил использовать Object.keys (). Я был бы признателен за помощь в рефакторинге любым способом (функциональное программирование или другая рекомендация). Это внутри функции, и я буду использовать ее в нескольких местах моего приложения

Object.keys(templates)
  .filter(key => templates[key].items < feed.length)
  .forEach(element => {
    const item = document.createElement('li');
    item.className = 'carousel-item';
    const imgDiv = document.createElement('div');
    imgDiv.className = `${templates[element].type}-item-view`;
    if (i === 0) imgDiv.className += ' selected';
    item.addEventListener('click', evt => {
      this.onItemClick(evt, templates[element].type);
    });
    item.appendChild(imgDiv);
    this.items.appendChild(item);
    i++;
    return 0;
});

1 Ответ

0 голосов
/ 25 октября 2019

Используйте forEach с индексом вместо карты с внешним i:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

Как это:

items.forEach((item, index) => {
    // do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...