javascript - 如何通过某些规则从 redux 状态中删除某些项目
问题描述
如果对象中的某人 id 与有效负载中的 id 相同,我想删除对象数组中的项目。
我的代码:
case "MINUS_PRODUCT_FROM_CART": {
const arr = state.cart.forEach((item, i) => {
if (item[i].id === payload.id) {
arr.splice(i, 1);
}
});
return {
...state,
cart: arr,
};
}
我的有效载荷看起来:
[
{title: "Product 1", price: "128", id: "15"},
{title: "Product 2", price: "9", id: "26"},
{title: "Product 2", price: "9", id: "26"}
]
如果有效负载 id === 26 我只想删除一个具有此 id 的对象
谢谢!
解决方案
const arr = state.cart.filter((item, i) => {
return item.id !== action.payload.id;
});
return {
...state,
cart: arr,
};
推荐阅读
- java - 由于空检查,使用 lambda 优化 if else 语句?
- python - 如何在 Django 中执行 PostgreSQL 查询
- c# - 如何从xml中删除列表父节点?
- r - 如何记录重复 ID 的不同值
- python - 如何更改 Pandas 数据框的形状
- hadoop - MacBook Air M1 上的 VirtualBox
- java - 基于给定参数在Java中打印arraylist的特定元素
- c++ - InverseSize4.h 中 4x4 矩阵逆的特征编译警告
- angular - 返回错误对象时,Angular Async Validator 未将控件标记为无效
- amazon-cognito - 尝试将 access_key 与 REST API 一起使用时出现未经授权的消息