const deletItem=(id)=>{
setCart(cart.filter(product=>product.id !== id))
console.log(id);
}
在這里,當我想洗掉單個產品時,一次洗掉所有相似的產品 ID ...我該如何解決這個問題。
uj5u.com熱心網友回復:
我認為陣列splice更好地用于從陣列中洗掉一個專案。只有你需要找到第indexOf一個。
var cart = [
{name: 'product a', id: 1},
{name: 'product b', id: 1},
{name: 'product c', id: 2},
]
const deleteItem = (id) => {
var pos = cart.map(x => x.id).indexOf(id);
if (pos >= 0) {
cart.splice(pos, 1)
}
}
deleteItem(1);
console.log(cart)
uj5u.com熱心網友回復:
既然您說它正在洗掉所有相似的產品 ID,那么聽起來您的陣列肯定有多個具有相同 ID 的專案(這應該是一個唯一的、非重復的識別符號),這就是您過濾多個專案的原因。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/524572.html
下一篇:如何動態呼叫類方法?
