gpt4 book ai didi

javascript - 在类方法中删除元素后无法过滤数组

转载 作者:行者123 更新时间:2023-12-02 07:57:26 24 4
gpt4 key购买 nike

我无法使用过滤函数过滤我的数组。需要获取更新的、过滤后的数组。如果我能以某种方式升级它,请让我知道我可以在代码中更改什么。

class Store {
constructor(items) {
this._items = items;
}
getItems() {
return this._items;
}
addItem(item) {
this._items.push(item);
return this._items;
}
removeItem(item) {
this._items.filter(value => value != item);
return this._items;
}
}

let storage = new Store([
'Cubbage',
'Garlice',
'Sauce',
'Tomato',
]);

let items = storage.getItems();
console.table(items);

storage.addItem('banana');
console.table(items);

storage.removeItem('Tomato');
console.table(items); //

最佳答案

filter()方法创建一个新数组,其中包含通过提供的函数实现的测试的所有元素。

因此,您需要像这样设置 this._items:

removeItem(item) {
this._items = this._items.filter(value => value != item);
return this._items;
}

或者,简单地返回 this._items.filter() 方法,例如:

removeItem(item) {
return this._items.filter(value => value != item);
}

class Store {
constructor(items) {
this._items = items;
}
getItems() {
return this._items;
}
addItem(item) {
this._items.push(item);
return this._items;
}
removeItem(item) {
this._items = this._items.filter(value => value != item);
return this._items;
}
}

let storage = new Store(['Cubbage','Garlice','Sauce','Tomato']);

storage.addItem('banana');
let items = storage.removeItem('Tomato');
console.log(items); //

关于javascript - 在类方法中删除元素后无法过滤数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62015088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com