Js refactoring with append



使用ESLint使我更改了for。。在中,我决定使用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;
});

使用带有索引的forEach,而不是带有外部i:的映射

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

像这样:

items.forEach((item, index) => {
// do something
}

最新更新