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

JavaScript如何获取筛选后嵌套数组中匹配元素的索引

实现逻辑

要拿到符合条件的tabs项索引,按以下步骤处理即可:

  • 先在源数据数组中,筛选出categoryName和传入参数完全匹配的分类对象
  • 在匹配到的分类的tabs数组中,查找header和传入参数完全匹配的项的下标
  • 增加边界判断:如果没找到对应分类、或者分类下没有对应header的项,统一返回-1作为未匹配的标识
完整代码实现
function findTargetTabIndex(sourceData, targetCategoryName, targetHeader) {
  // 匹配目标分类
  const targetCategory = sourceData.find(item => item.categoryName === targetCategoryName)
  if (!targetCategory) return -1
  // 查找对应tab的索引
  return targetCategory.tabs.findIndex(tabItem => tabItem.header === targetHeader)
}

// 示例测试
const data = [
  {
    categoryName: "Mexican Food",
    tabs: [
      { header: "Nachos" },
      { header: "Tacos" }
    ]
  }
]
const categoryName = "Mexican Food"
const header = "Tacos"
const Output = findTargetTabIndex(data, categoryName, header)
console.log(Output)
运行结果

传入示例参数时,最终Output的值为1,和预期结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 15:18:19