当前位置: 首页 > 知识库问答 >
问题:

从数组中删除基于数组的值[重复]项

荆树
2023-03-14

我似乎找不到解决这个问题的方法,你如何从基于数组的值的数组中删除项?就像你移除一个一样?


const [items, setItems] = useState([
  {id: 1, name: "foo"},
  {id: 2, name: "bar"},
  {id: 3, name: "baz"}
])

我需要删除一些ids:

const idsToRemove = [1,3]

// I thought I'd loop
idsToRemove.map(i => items.filter(item => item.id !== i))

这将返回一个数组,但感觉有些不对劲。若要删除一个项目,那个就可以了,但通过ID数组从数组中删除项目,我不知道从哪里开始。

在循环中,我试图使用删除,但un定义在数组中:[un定义]

idsToRemove.map(i => items.map(item => delete item.id === i))

到目前为止,React表示在循环期间无法更新状态。基于idsToRemove,如何使一个项目处于状态?

共有3个答案

黄俊雄
2023-03-14
const items = [
  {id: 1, name: "foo"},
  {id: 2, name: "bar"},
  {id: 3, name: "baz"}
];

const idsToRemove = [1, 3];

console.log(
  items.filter(({ id }) => !idsToRemove.includes(id))
);
邹毅
2023-03-14

您可以将过滤器包含一起使用。

items = items.filter(({id})=>!idsToRemove.includes(id));
let items = [
  {id: 1, name: "foo"},
  {id: 2, name: "bar"},
  {id: 3, name: "baz"}
];
const idsToRemove = [1,3]
items = items.filter(({id})=>!idsToRemove.includes(id));
console.log(items);

安明亮
2023-03-14

你需要把filter调用放在外面:

items.filter(item => !idsToRemove.includes(item.id))
 类似资料:
  • 在mongodb中,我有一个集合,其中数组有重复的条目,如 我需要删除重复的数组,只保留唯一的数组值,如下所示。 最好的方法是什么 谢啦

  • 问题内容: 我使用下面的代码行遍历数据库中的一个表: 如果我打印出数组: 我会得到这个: 但是我想摆脱数组中的重复项,所以我使用 我得到下面的奇怪结果,这不是我想要的结果: 理想情况下,我认为它应该返回以下内容: 我该怎么做才能正确处理?我使用了错误的PHP语法/默认功能吗? 问题答案: 该功能将为您完成此操作。您只需要添加标志:

  • 我有一个问题编码这个: 编写一个名为的静态方法,该方法将整数数组作为输入,并返回一个新的整数数组,其中所有重复项都被删除。例如,如果输入数组具有元素{4,3,3,4,5,2,4},则结果数组应为{4,3,5,2} 这是我目前所做的

  • 假设对象数组如下: 如果标签和颜色相同,则为重复条目。在这种情况下,id=1和id=5的对象是重复的。 如何筛选此阵列并删除重复项? 我知道一些解决方案,在这些解决方案中,您可以使用以下内容对一个键进行过滤: 但是多个键呢? 根据评论中的要求,以下是预期结果:

  • 如何根据属性值从数组中删除所有对象? 在上面的代码中,它只删除一个对象。如何删除所有if匹配项?

  • 问题内容: 我们可以在php中从单个多维数组中删除重复项,是否可以与多维数组一起使用?它对我不起作用! 这是数组的样子 任何人都可以帮助我… 问题答案: 用户在array_unique页面上的评论确实对此有所启发。您很可能会在这些注释中找到一些隐藏的宝石- 这是非常方便的文档。 只需快速浏览器,便可以了解以下内容,以从多维数组中删除重复项: