我有一個包含電影信息的對象數組。每個對象都有一個類型值。該值可以是字符串或數組。如何過濾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