javascript - Javascript - 从数组中获取对象,该数组与另一个数组匹配
问题描述
我有一个对象数组(zoo
),其中有一些对象,并且这些对象中有一个对象数组(animals
)。我需要过滤数组,并获取具有相同动物名称的对象,作为我代码中的另一个动态数组。
zoo
0:[...]
1:[...]
2:
name:"whatevername"
city:"whatevercity"
animals:Array(2)
0:
name:"somename"
species:"somespecies"
1: ...
etc:"whasover"
因此,如果我的动态数组包含somename
在其中,我应该得到索引为 2 的对象。我该怎么做呢?
解决方案
这是您需要的功能:
const search = keyword => zoos.find(({ animals }) => animals.some(({ name }) => name == keyword));
这是一个活生生的例子:
const zoos = [
{
name: 'Antarctic Zoo',
city: 'Chilean Villa Las Estrellas',
animals: [{ name: 'Chinstrap penguin', species: 'Pygoscelis antarctica' }],
},
{
name: 'African Zoo',
city: 'Cairo',
animals: [{ name: 'Lion', species: 'Panthera leo' }],
}
];
const search = keyword => zoos.find(({ animals }) => animals.some(({ name }) => name == keyword));
const result = search('Lion');
console.log(result); // { name: 'African Zoo', city: 'Cairo', animals: [ { name: 'Lion', species: 'Panthera leo' } ] }
推荐阅读
- qt - 在 Qt 中使用 OR-Tools 时重新定义(WinSock2.h、winsock.h、ws2def.h)
- c# - .NET Core,随机创建重复记录
- typo3 - QueryBuilder lastInsertId()
- python - 如何修复浮点对象不能解释为整数python
- javascript - 从 Angular 7 组件中检索本地 XML 文件
- mysql - How to Sum Value's of a column in a Table using Lookup function
- asp.net-core - 如何解决 ASP.NET Core 2.0 应用程序 EF Core 使用中的大量内存分配问题?
- sql - 使用 Spark SQL 引擎为自定义库解析 SQL 所需的建议
- java - 我可以配置 Java 日志记录以使用 Spring Boot 日志记录吗?
- php - 无法使用 $GLOBALS 数组将变量从一个文件传递到另一个文件