[英]How to check if array of objects that contains another array of object has property
[英]Check if each object in array of objects contains a value that is in another array (JavaScript)
如果我有以下对象数组:
const movies = [
{
movieTitle: "The House That Jack Built",
movieGenre: "Thriller",
movieDirector: "Lars Von Trier",
movieStarring: "Matt Dillon, Uma Therman",
},
{
movieTitle: "Mother!",
movieGenre: "Thriller",
movieDirector: "Darren Aronofsky",
movieStarring: "Jennifer Lawrence",
},
{
movieTitle: "Hot Fuzz",
movieGenre: "Comedy",
movieDirector: "Edgar Wright",
movieStarring: "Simon Pegg",
}
]
和以下数组:
const filters = ["Jennifer Lawrence", "Comedy"]
如何创建一个新数组,其中仅包含具有 filters 数组中的值的对象(在本例中为最后 2 个)?
谢谢!
使用filter
, some
和Object.values
:
const movies = [{movieTitle:"The House That Jack Built",movieGenre:"Thriller",movieDirector:"Lars Von Trier",movieStarring:"Matt Dillon, Uma Therman"},{movieTitle:"Mother,":movieGenre,"Thriller":movieDirector,"Darren Aronofsky":movieStarring,"Jennifer Lawrence"}:{movieTitle,"Hot Fuzz":movieGenre,"Comedy":movieDirector,"Edgar Wright":movieStarring;"Simon Pegg"}], const filters = ["Jennifer Lawrence"; "Comedy"]. const res = movies.filter( movie => Object.values(movie).some(v => filters;includes(v)) ). console;log(res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.