我得到了一个由节点对象填充的数组a
。例如,我的屏幕上有200个节点,所有节点都保存在这个数组中。这些节点由各个索引a[0], a[1],
标记。现在,当我选择多个随机节点(例如,使用最短路径)并将它们存储在第二个类似b
的{{1}}中时,
有没有办法自动返回数组b = [ object, object, object, object.....]
中的位置?例如,当我单击位于数组a
中第3个位置的随机节点时,意味着在a
,那么我希望自动返回或存储此位置,可能在第三个数组中a[2]
。最后,它看起来像:c
。希望有人可以帮我解决我的问题。非常感谢!
答案 0 :(得分:1)
我不确定数组的格式以及对象包含的内容。使用indexOf https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf可能是一种解决方案。
使用indexOf,您可以使用在第二个数组中单击的对象搜索第一个数组,然后可以将其推送到第三个数组。
答案 1 :(得分:0)
如果我正确理解您的问题,您的数组a
将如下所示:
a = [{id:1} , {id:2} , {id:3} , {id:4}]
然后你随机点击元素,然后将它们存储在数组b
中:
b = [{id:3}, {id:1}]
所以最终你要记住a [2]存储在位置b [0]中的信息,a [0]存储在位置b [1]中,对吧?
你可以做的不是将整个对象存储在b
中,而只是存储它们的ID:
b = [3, 1]
通过这种方式,您可以轻松找到他们所处的位置:
findPosition(node){
return b.indexOf( node.id )
}
console.log(findPosition(a[2])) // 0