所以這有點難以解釋,但基本上試圖以一種更有效的方式來執行以下代碼......
products.forEach(function(item, index){
if(item.sale == false ) {
nonSaleItems = createEl(item);
} else {
saleItems = createEl(item);
}
});
items.innerHTML = nonSaleItems;
items.innerHTML = saleItems;
products 是一個物件陣列,其中一個鍵是“sale”,對于“sale”是“false”或“true”。這背后的想法是首先發布所有非銷售專案,然后銷售專案第二 - 因此 nonSaleItems 的 innerHTML 首先,然后 saleItems 第二個添加。
這段代碼運行良好,但我覺得必須有一種更有效/更簡潔的方法來代替 nonSaleItems 和 saleItems 的兩個變數,然后是兩個 interHTMLs。
只是好奇是否有人對如何簡化或使其更好有更好的想法?
uj5u.com熱心網友回復:
您已經對所有產品進行了一次回圈,這是 a) 必要的,b) 盡可能高效。
你能做的最好的事情就是讓你的代碼不那么冗長。在這種情況下,我使用三元來決定是使用哪個saleItems還是nonSaleItems作為左值 = createEl(...):
products.forEach(function(item, index){
( item.sale ? saleItems : nonSaleItems ) = createEl(item);
});
items.innerHTML = nonSaleItems;
items.innerHTML = saleItems;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/477480.html
標籤:javascript html 数组 目的 内部html
