gpt4 book ai didi

javascript - JS检查对象数组是否包含对象

转载 作者:行者123 更新时间:2023-12-03 06:46:40 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,可以轻松了解特定对象键/值是否包含在另一个包含对象的数组中。

我尝试过indexOf,但这似乎不起作用。示例:

if(data2.indexOf(data1) > 0){
console.log("Found!");
return true;
}else{
return false;
}

这是对象:

  {
"movie": {
"ids": {
"imdb": "tt2975590"
}
}
}

我需要一个函数来告诉我它是否已经在另一个像这样的数组中:

[
{
"id": 2008588422,
"type": "movie",
"movie": {
"title": "Batman v Superman: Dawn of Justice",
"year": 2016,
"ids": {
"trakt": 129583,
"slug": "batman-v-superman-dawn-of-justice-2016",
"imdb": "tt2975590",
"tmdb": 209112
}
}
},
{
"id": 1995814508,
"type": "movie",
"movie": {
"title": "Dirty Grandpa",
"year": 2016,
"ids": {
"trakt": 188691,
"slug": "dirty-grandpa-2016",
"imdb": "tt1860213",
"tmdb": 291870
}
}
}
]

在这种情况下,它将返回 true。 (电影《 bat 侠大战超人》具有相同的 IMDB ID)。

有什么帮助吗?谢谢! :D

最佳答案

为了澄清你有一个 array that contains objects 。你应该看看Array.prototype.some ,它将迭代一个数组,如果从回调内部返回 true,则返回 true。

var search = {
"movie": {
"ids": {
"imdb": "tt2975590"
}
}
};

var found = arr.some(function(obj) {
return obj.movie.ids.imdb == search.movie.ids.imdb;
});

其中 arr 是电影数组。

您可以使用dot notation and bracket notation访问对象中的属性,例如: search.movi​​esearch['movie'] 将返回:

{
"ids": {
"imdb": "tt2975590"
}
}

关于javascript - JS检查对象数组是否包含对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37709660/

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