【发布时间】:2017-11-24 03:04:34
【问题描述】:
我正在通过 API 获取数据。这是一个电影,电视节目,人物数据库。当我在搜索框中搜索单词时,它会返回嵌套在数组中的对象中的相关电影、电视节目和人名。例如当我搜索“战斗”时:
[
0:{original_name: "쌈 마이웨이", id: 70813, media_type: "tv", name: "Fight My Way", vote_count: 5,…}
1:{vote_average: 8.2, vote_count: 8057, id: 550, video: false, media_type: "movie", title: "Fight Club",…}
2:{vote_average: 6.1, vote_count: 215, id: 345922, video: false, media_type: "movie",…}
3:{original_name: "Fight", id: 46554, media_type: "tv", name: "Fight", vote_count: 0, vote_average: 0,…}
4:{original_name: "The Good Fight", id: 69158, media_type: "tv", name: "The Good Fight", vote_count: 22,…}
5:{vote_average: 0, vote_count: 0, id: 158301, video: false, media_type: "movie", title: "Fight",…}
]
还有更多结果,但我删掉了。如您所见,每个对象中都有media_type 属性。您可以理解 3 种媒体类型(电影、电视、人物)。我想计算每种类型。
实际上;我想在链接中有同样的东西:React: Syntax for calling setState in Switch Return
但这对我不起作用。我试图像这样简单地将movieCount的状态更改为3:
countType() {
this.props.movies.map(movie => {
return() => {
if(movie.media_type === 'movie') {
this.setState({ movieCount: 3});
console.log(this.state);
}
}
});
}
但它也不起作用。我在互联网上研究了 javascript 文档和论坛中的这些东西。不仅仅是反应。但我什么也做不了。我知道这很简单。
那么如何根据属性类型对数组中的对象进行计数?
【问题讨论】:
标签: javascript arrays reactjs javascript-objects