You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何一次性统计Movie类数据中Comedy、Romance、Tragedy的数组长度?

你可以通过Array.reduce方法单次遍历已筛选的电影数据,一次性得到所有分类的统计结果,不需要多次调用filter做单独筛选:

// 筛选出所有类型为Movie的数据
const movieList = data.filter(item => item.genre?.selected === "Movie")

// 单次遍历统计三类戏剧的数量
const genreCount = movieList.reduce((result, current) => {
  const dramaConfig = current["1"]?.drama
  dramaConfig?.Comedy && result.comedy++
  dramaConfig?.Romance && result.romance++
  dramaConfig?.Tragedy && result.tragedy++
  return result
}, {
  comedy: 0,
  romance: 0,
  tragedy: 0
})

后续直接取对应属性即可拿到各分类的长度:

console.log(genreCount.comedy) // 喜剧类数量
console.log(genreCount.romance) // 爱情类数量
console.log(genreCount.tragedy) // 悲剧类数量

这个方案只需要遍历一次筛选后的电影数组,比多次调用filter的性能更好,后续要新增统计分类时,只需要在初始统计对象中新增对应属性、补充判断逻辑即可,维护成本更低。

内容的提问来源于stack exchange,提问作者JS3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:42:01