javascript - 试图通过它的特定元素从数组中删除对象
问题描述
我得到了一个里面有对象的数组,这些对象里面有元素。我将如何通过其中一个元素来处理其中一个对象?
let randomARR = [];
let a = {"name": "John", "age": 20, "PlaceOfBirth": "Germany"};
let b = {"name": "Simon", "age": 20, "PlaceOfBirth": "France"};
let c = {"name": "Michael", "age": 20, "PlaceOfBirth": "USA"};
randomARR.push(a);
randomARR.push(b);
randomARR.push(c);
结果:
[{"name": "John", "age": 20, "PlaceOfBirth": "Germany"}, {"name": "Simon", "age": 20, "PlaceOfBirth": "France"}, {"name": "Michael", "age": 20, "PlaceOfBirth": "USA"}]
假设我想通过对象的元素“name”而不是它在数组中的位置来寻址对象,从而从数组中删除对象 b(名称:Simon)。
解决方案
filter() 方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
它遍历数组的所有元素,并基于布尔返回将其从结果数组中保留/删除。您可以将其设置为当前数组以覆盖它。
let objArr = [{"name": "John", "age": 20, "PlaceOfBirth": "Germany"}, {"name": "Simon", "age": 20, "PlaceOfBirth": "France"}, {"name": "Michael", "age": 20, "PlaceOfBirth": "USA"}]
let newObj = objArr.filter(obj => obj.name !== "Simon");
// objArr = objArr.filter(obj => obj.name !== "Simon"); to overwrite
推荐阅读
- json - 将 json 数组元素与 jq 合并
- java - 如何使用 Apache Commons Math 集成 y(x)
- d3.js - 从函数附加时文本元素不可见
- service-worker - 当您将版本/哈希添加到服务工作线程文件时会发生什么?
- r - R曲线:部分曲线不显示
- webhooks - DocusSign 无法连接托管在安全 Azure 上的 Webhook(API 端点)
- spring-boot - 尽管从 Spring-Boot 发送了多个 cookie,但 React Native 只得到一个 cookie
- php - 无法从字符串中删除 \ufeff
- c# - C# byte[] 中的前 8 个字节是什么?如何在 Visual Studio 的内存窗口中跳过它们?
- scala - xgboost Scala API 什么是`predictContrib`?