首页 > 解决方案 > 查找 OpenLayers 数组的索引

问题描述

我很难找到这个特定 OpenLayers 数组的索引。数组看起来像这样。

Array(7)
0: PinchRotate {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, 
revision_: 0, …}
1: PinchZoom {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, revision_: 
0, …}
2: KeyboardPan {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, 
revision_: 0, …}
3: KeyboardZoom {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, 
revision_: 0, …}
4: MouseWheelZoom {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, 
revision_: 0, …}
5: DragBox {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, revision_: 
0, …}
6: PointerInteraction {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, 
revision_: 0, …}

我正在尝试查找 index item = "DragBox" 的索引

我试过一个字符串和一个对象,即

let index =  MapValues.map.interactions.array_.indexOf("DragBox");

let obj = DragBox
let index =  MapValues.map.interactions.array_.indexOf(obj);

两者都返回了-1 ...我真的很困惑如何使用打字稿中的这个特定数组来做到这一点。

任何帮助是极大的赞赏

标签: angulartypescriptopenlayersangular-openlayers

解决方案


要在数组中搜索特定类型的对象,可以使用

.findIndex(obj => obj instanceof DragBox)

推荐阅读