javascript - 从两个数组中删除相等的对象
问题描述
我的 ReactJs 应用程序中有以下问题。假设我有两个这样的数组:
var cart = [
{id: 1, name: "item1"},
{id: 2, name: "item2"},
];
var productsArr = [
{proId: 1, category: 'cat1'},
{proId: 5, category: 'cat7'},
];
是否可以比较这两个数组并在 productsArr 中找到购物车id
符合 productsArr 的任何对象,并仅从 productsArrproId
中删除该对象?
(如果是这样,正如我在这个例子中解释的那样,productsArr[0]
应该删除。)
提前致谢。
解决方案
You can use Array#filter
in conjunction with Array#some
.
var cart = [
{id: 1, name: "item1"},
{id: 2, name: "item2"},
];
var productsArr = [
{proId: 1, category: 'cat1'},
{proId: 5, category: 'cat7'},
];
productsArr = productsArr.filter(({proId})=>!cart.some(({id})=>proId === id));
console.log(productsArr);
推荐阅读
- makefile - makefile latex DVI=$(TEX:.tex=.dvi) 含义
- asp.net-core - 在 ASP.NET Core 2.2 中,如何在启动服务中获取基本 URL
- python - 子进程中的 Python 日志记录
- javascript - litelement - 在开槽元素中设置嵌套元素的样式
- python - Python/Django 使用 Through 保存 m2m
- php - 如何使用 PHP 7 中的 mpdf 库在同一个文件中调用 WriteHtml() 函数两次来编写内容?
- keycloak - Keycloak:为用户账户信息添加通用属性
- symfony-1.4 - 是否可以使用 Symfony 1.4 中的 schema.yml 更新数据库结构?
- android - 物理和虚拟设备上的应用显示错误
- java - 具有后备存储的功能数据结构