javascript - 如何从数组中删除单个对象
问题描述
我正在尝试从嵌套数组中删除一个对象。我的情况是数组中有多次相同的对象,我应该是这样。那么如何从数组中删除一个对象,即使它们是其中的相同对象。我过去的尝试是filter
和slice
方法。但它们实际上是一次删除所有相同的对象。
const data = {
{ id:1, name:'test'},
{ id:1, name:'test'},
{ id:1, name:'test'},
{ id:2, name:'test2'},
{ id:2, name:'test2'},
}
一次执行后的预期结果:
{ id:1, name:'test'},
{ id:1, name:'test'},
{ id:2, name:'test2'},
{ id:2, name:'test2'},
解决方案
这些实际上是我的 redux 商店的一部分,我需要将相同的物品多次放入购物车然后结帐。所以我想保留重复的对象并在点击时只删除一个
从这个响应中,我猜想你需要在(React?任何框架)中显示对象时存储它的索引,然后当你调度一个动作到 remove_item 时,将索引作为有效负载传递。如果没有一个最小的完整示例,很难确定,但是有了这些给定,您将需要:
const data = {
items: [
{ id:1, name:'test'},
{ id:1, name:'test'},
{ id:1, name:'test'},
{ id:2, name:'test2'},
{ id:2, name:'test2'},
],
};
const removeItem = (items, index) => ([ ...items.slice(0, index), ...items.slice(index + 1)]);
console.log(data);
data.items = [ ...removeItem(data.items, 2) ] ;
console.log(data);
推荐阅读
- node.js - 失败的测试正在挂起 Jenkins 管道
- html - 角度可滚动的 div
- laravel - 为什么没有 getAttributes() 就无法获取 msg id
- python - 带有流的 Python 请求仅读取 8-9 mb 的文件并停止
- python-3.x - 方法不允许,应用程序在 heroku 日志中运行且没有错误
- mysql - 查询获取每个月的记录数
- html - 字体显示,不在速度洞察中工作
- flutter - 在flutter中使用graphql注册时如何获取令牌
- python - 当换行符起作用时脚本会产生错误的结果
- python - 如果与字典映射不匹配,如何从数据框行中删除值?