繁体   English   中英

检查对象数组中的每个 object 是否包含另一个数组中的值(JavaScript)

[英]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 个)?

谢谢!

使用filtersomeObject.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.

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