• 1000 1004 *
Таким образом, он всегда будет проходить и запускать то, что внутри.
EDIT: попробуйте улучшить приведенный выше код следующим образом:
let item = itemsArray.find((el) => el.id === x);
if(item) itemFunction(item, target);
А затем в https://github.com/HafseeMan/online-shop/blob/master/js/store.js отредактируйте removeItem и измените этот foreach на этот:
store_items = store_items.filter((el) => el.id !== id);
Одно дополнительное предложение состоит в том, что, поскольку removeItem фактически использует только itemId, вы можете передать только это методу removeItem, так что то, что я написал выше, будет Лучше всего изменить это:
let item = itemsArray.find((el) => el.id === x);
if(item) itemFunction(item.id, target);
И ваш removeItem вот так:
static removeItem(itemId){
const store_items = Store.getItems();
store_items = store_items.filter((item) => item.id === itemId);
localStorage.setItem('store_items', JSON.stringify(store_items));
}
Обратите внимание, что я удалил параметр target
, поскольку ничего не делает. Так что вы также можете удалить его из следующих элементов:
//from this
this.find(id, this.deleteTheItem);
//and this
find(x, itemFunction) {...
//aaand this
itemFunction(item.id, target);
//and also this
deleteTheItem(item, target);
Попробуйте, обновите и сообщите мне, станет ли оно лучше :)
Надеюсь, это проясняет проблему. Дайте мне знать, если не так, скажите мне, чтобы я ответил на ваши сомнения.