代码之家  ›  专栏  ›  技术社区  ›  noclist

基于第二个数组的匹配查找数组索引

  •  0
  • noclist  · 技术社区  · 7 月前

    我有两个对象数组。我怎样才能得到的索引 id 在第一个数组中,与第二个数组中具有 isPrimary 设置为true?第二个数组中只有一个对象将具有 isPrimary: true .

    let items= [
      {
        "id": 1,
        "color" "red"
      },
      {
        "id": 2,
        "color": "green"
      },
      {
        ...
      },
      ...
    ]
    
    
    let items2= [
      {
        "age": 18,
        "isPrimary" false
      },
      {
        "age": 25,
        "isPrimary": true
      },
      {
        ...
      },
      ...
    ]
    
    1 回复  |  直到 7 月前
        1
  •  1
  •   Max    7 月前

    如果你只是想把东西拿进去 items 其索引与中的项目相同 items2 具有 isPrimary 设置为 true 你可以使用 findIndex 在数组上获取该索引, findIndex find 两者都将一个回调函数作为参数,该函数将对数组中的每个元素进行求值,该函数应返回一个布尔值,并且将返回数组中满足函数表示的谓词的第一个值,或者如果使用 findIndex ,所以

    const index = items2.findIndex((obj) => obj.isPrimary);
    

    然后,您可以通过索引来获取该项目 项目 阵列

    const item = items[index]
    

    您可以使用以下命令组合这些步骤 找到 项目 数组,并使用回调的第二个参数(即当前索引)进行检查 项目 该指数的值

    const item = items.find((_,i)=>items2[i].isPrimary);
    
    推荐文章