gpt4 book ai didi

javascript - 获取数组中的对象,该对象具有一个属性,该属性是一个包含匹配值的数组

转载 作者:行者123 更新时间:2023-11-30 15:12:54 25 4
gpt4 key购买 nike

我有一个结构如下的对象数组:

[
{
title: "",
imagePoster: "",
episodes: "",
score: "",
genres: ["Comedy", "Drama", ...],
description: ""
},
...
]

我需要返回一个对象,该对象在 genres 数组中包含特定值,例如 "Comedy"。我一直在尝试很多方法,例如 forfiltermapindexOf...但是,我仍然无法弄清楚,除非我搜索 ["Comedy", "Drama", ...](即整个数组)。

最佳答案

你可以使用 Array#find找到第一个满足条件的元素:

const search = "Comedy";
const found = array.find(obj => obj.genres.includes(search));

这也使用 Array#includes它检查参数(搜索关键字)是否存在于每个对象的 genres 数组中。如果您需要 IE 支持,请使用 Array#indexOf并检查返回值是否大于 -1 而不是做完全相同的事情:

obj => obj.genres.indexOf(search) > -1

如果您想返回所有 具有特定流派的对象,而不仅仅是第一个,请使用 Array#filter 过滤数组它根据条件过滤数组:

const search = "Comedy";
const found = array.filter(obj => obj.genres.includes(search));

这将过滤数组,只保留在其 genres 数组中包含搜索关键字的对象。同样,您可以将 includes 替换为 indexOf 检查,如果 find 不是,您始终可以只访问过滤后数组的第一个元素在您的目标浏览器(即 IE)上受支持。

关于javascript - 获取数组中的对象,该对象具有一个属性,该属性是一个包含匹配值的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44866266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com