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

如何在搜索筛选功能中返回包含指定演员值的完整对象?

解决方案

你的现有代码逻辑已经可以返回符合要求的完整电影对象:外层filter的返回值本身就是所有满足筛选条件的电影对象数组,直接接收checkCast函数的返回值即可使用。
内层遍历演员列表不需要使用filter,替换为Array.some()方法效率更高,只要存在任意一个匹配的演员就会直接终止遍历返回真值,优化后的代码如下:

checkCast(allMovies) {
  // 提前将搜索关键词转小写,避免循环中重复执行转换操作
  const targetActor = this.search.cast.toLowerCase()
  return allMovies.filter(movie => {
    // 只要当前电影的演员列表存在匹配项,就会将该完整电影对象加入返回结果
    return movie.cast.some(actor => actor.toLowerCase().includes(targetActor))
  })
}

效果示例

假设搜索关键词为Jennifer Lawrence,调用函数后得到的返回结果如下:

[
  {
    "title": "Mother!",
    "year": 2017,
    "cast": [
        "Jennifer Lawrence",
        "Javier Bardem",
        "Michelle Pfeiffer",
        "Domhnall Gleeson",
        "Ed Harris",
        "Kristen Wiig"
    ],
    "genres": []
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:45:03