【问题标题】:Index of object in array which has array of one object具有一个对象数组的数组中对象的索引
【发布时间】:2020-07-22 09:55:51
【问题描述】:

我正在使用 Angular (TypeScript) 中的 Google Maps API。我想制作可点击的国家地图,点击某个国家它会改变颜色。看起来很简单,但我正在为 Angular 使用 ng2-google-maps 库,这有点复杂。

我的问题: 我需要获取数组中主要对象的索引。但我需要按此对象中的值作为另一个数组中的另一个对象进行搜索。

我已经在地图中获得了点击区域的国家代码。例如这个console.log中的“PL”。

我需要获取主数组的索引(PL 有 '0' 索引)来检查这个数组中是否已经存在 PL 国家。

我试过这样:

mainArray.findIndex((result) => result.c.findIndex((result) => result.v === 'PL'));

但它不起作用。然后我可能需要使用 slice() 方法从主数组中删除找到的索引。

提前谢谢你。

【问题讨论】:

    标签: javascript arrays angular typescript


    【解决方案1】:

    您在返回索引或-1 的函数中使用Array#findIndex,因此如果元素位于位置0 和所有其他情况下,它将是虚假的(非零数字是真实的)所以它不会像你预期的那样工作。

    您可以使用Array#some 方法,如果至少一个元素满足条件,则返回true。

     mainArray.findIndex((result) => result.c.some((result) => result.v === 'PL'));
    

    【讨论】:

      猜你喜欢
      • 2018-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      • 2019-09-12
      • 2014-05-14
      • 2020-04-10
      相关资源
      最近更新 更多