javascript - 在 JavaScript 中过滤对象中的数据
问题描述
我有以下对象。
var Data = [{ datetime: "03:48 PM 10/31/2018", dermatologist: "Canfield", id: 4021, owner_name: "John Doe", pet_name: "Dog", score: 37 }, { datetime: "03:48 PM 10/31/2018", dermatologist: "Nicky barown", id: 4022, owner_name: "Carlos", pet_name: "Cat", score: "57" }, { datetime: "03:48 PM 10/31/2018", dermatologist: "Canfield", id: 4023, owner_name: "James", pet_name: "Parrot", score: 50 }]
皮肤科医生如何从对象中获取数据。
我正在尝试以下代码。
var result = Data['dermatologist']
但我只有一张唱片。
我想要所有包含相同皮肤科医生的物品。
{ "datetime": "03:48 PM 10/31/2018",
"dermatologist": "Canfield",
"id": 4021,
"owner_name": "John Doe",
"pet_name": "Dog",
"score": 37
},
{
"datetime": "03:48 PM 10/31/2018",
"dermatologist": "Canfield",
"id": 4023,
"owner_name": "James",
"pet_name": "Parrot",
"score": 50
}
解决方案
假设您想通过特定键的已知值过滤数组,然后您可以获取该属性并检查过滤结果集的值。
使用的技术:
Array
用于数据和Array#filter
通过使用过滤箭头函数
dermatologist
每个对象的属性的解构赋值和检查身份/严格相等运算符
===
和想要的值。
var data = [{ datetime: "03:48 PM 10/31/2018", dermatologist: "Canfield", id: 4021, owner_name: "John Doe", pet_name: "Dog", score: 37 }, { datetime: "03:48 PM 10/31/2018", dermatologist: "Nicky barown", id: 4022, owner_name: "Carlos", pet_name: "Cat", score: "57" }, { datetime: "03:48 PM 10/31/2018", dermatologist: "Canfield", id: 4023, owner_name: "James", pet_name: "Parrot", score: 50 }],
result = data.filter(({ dermatologist }) => dermatologist === "Canfield");
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
推荐阅读
- android - 如何正确浏览反编译的 APK 代码?
- sql - SQL 查询以计算每个不同值的出现次数
- django - DRF 可浏览 API 在“django-rest-passwordreset”包中不起作用
- python - 使用 pandas 和 numpy trapz 计算速度(m/s)与时间(每秒)图的曲线下面积(AUC)
- javascript - PWA“添加到屏幕”提示在下载文件后不起作用
- mysql - 为常见操作管理数据库类的更好方法
- python - 有没有一种有效的方法来计算数组索引中两个 3D 向量的点积?
- javascript - 使用复选框显示隐藏表格
- android - 如何让我的 SELECT 查询组合并返回来自两个不同表的数据
- command-line - 批量转换目录中所有未知扩展名的文件