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

如何在React的嵌套数组中实现动态搜索?

搜索数组形式存储的艺人信息实现方案

如果要搜索存储为数组的艺人信息,你可以利用数组的some()方法遍历每个艺人,判断是否与搜索词匹配:

仅搜索艺人的实现

function dynamicSearch() {
  return tracklist.filter(track =>
    // 遍历艺人数组,只要有一个艺人匹配就保留该曲目
    track.artist.some(artist => 
      artist.toLowerCase().includes(searchTerm.toLowerCase())
    )
  )
}

some()方法会检查艺人数组中是否存在至少一个元素满足匹配条件——只要有任意一个艺人的名字(转小写后)包含搜索词(转小写后),就会返回true,对应的曲目就会被filter保留。

同时支持歌曲名和艺人搜索

如果需要同时支持搜索歌曲名和艺人,可以用逻辑或(||)把两个搜索条件结合起来,还可以提前转换搜索词的大小写,避免重复计算:

function dynamicSearch() {
  const lowerCaseSearch = searchTerm.toLowerCase();
  return tracklist.filter(track =>
    track.name.toLowerCase().includes(lowerCaseSearch) ||
    track.artist.some(artist => artist.toLowerCase().includes(lowerCaseSearch))
  )
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 16:42:02