我有一个包含电影信息的对象数组。每个对象都有一个类型值。该值可以是字符串或数组。如何过滤javascript中的对象数组中的数组?
我从查询字符串中获取流派并将其保存到名为流派的变量中。现在我只想整理那种类型的电影。
我的对象的数组是这样的:
movies = [
{
title:"Apocalypse Now",
year: "1979",
genre: [
"drama",
"war"
]
},
{
title:"Unforgiven",
year: "1992",
genre: [
"western",
"drama"
]
},
{
title: "The big Lebowski",
year: "1998",
genre: "comedy"
}
];
现在我已经找到一个可行的解决方案。但我不满意它,因为:
它不允许为每部电影超过3种类型。
它看起来不漂亮,不能与其他代码组合。而且我认为必须有更好的方式,但我找不到它。
这是我现在有:
var genre = req.query.genre;
var movies = data.movies;
var filtered = movies.filter(function(x){
return x.genre == genre || x.genre[0] == genre || x.genre[1] == genre || x.genre[2] == genre;
});
想想搜索像ABC流派。如果你在字符串上使用indexof,它会发现abcdef –
哦,你说得对!我没那么想.. – baao