繁体   English   中英

如何从与 id 数组匹配的数组中获取数组中的对象?

[英]How can I fetch objects from an array from an array which match an array of id's?

如何从与 id 数组匹配的数组中获取数组中的对象? 这可能吗? 理想情况下,我只想抓取我需要的对象,而不是获取我不需要的对象然后过滤它们,因为这似乎不是很高效。

const objects = [
 {
  id: "1", 
  name : "one",
 },
 {
  id: "1", 
  name : "two"
 },
 {
  id: "3", 
  name : "three",
 },
 {
  id: "4", 
  name : "four"
 },
 {
  id: "5", 
  name : "five"
 }
]
const ids = ['1', '3', '5'];
let myFilteredObjects = await fetch('./objects');
// myObjects should return and an array of objects with 1, 3, 5

如果我做对了,您只想发送 id 列表并仅接收匹配的对象。

搜索“MDN 获取”、“MDN 数组过滤器”、“MDN 数组查找”

使用 fetch 您实际上是对后端进行请求/响应的组合。 所以基本上你想将感兴趣的“id”发送到 url,让后端进行过滤并获取响应中匹配的对象。

后端(如果使用 javascript 实现)可以返回:

objects.filter(obj => ids.includes(obj.id))

或者:

objects.filter(x => x.id === ids.find(y => y === x.id))

注意:名称“id”可能不是最佳选择,因为它通常用于唯一关系,这意味着如果您在某处输入一个 id,它应该只返回一个值(搜索“wiki ID”)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM