将随机元素的索引正确存储在数组中
Store the indexes of random elements correctly in an array
我得到了一个由节点对象填充的数组 a
。例如,我的屏幕上有 200 个节点,所有节点都保存在这个数组中。这些节点由单独的索引 a[0], a[1],
等标记。现在,当我 select 一些随机节点(例如最短路径)并将它们存储在第二个数组 b
中时,看起来像 b = [ object, object, object, object.....]
,
有没有办法自动 return 数组 a
中的位置?例如,当我单击一个随机节点时,它位于数组 a
的第 3 个位置,这意味着在 a[2]
,然后我希望这个位置被 returned 或自动存储,可能在第三个数组 c
中。最后,它可能看起来像:c= [ a[2], a[6], a[18], a[7], a[0] .....]
。希望有人能帮我解决我的问题。非常感谢!
我不确定您的数组格式以及对象包含的内容。使用 indexOf,https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf,可能是一个解决方案。
使用 indexOf,您可以使用在第二个数组中单击的对象搜索第一个数组,然后可以将其推送到第三个数组。
如果我正确理解你的问题,你的数组 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
我得到了一个由节点对象填充的数组 a
。例如,我的屏幕上有 200 个节点,所有节点都保存在这个数组中。这些节点由单独的索引 a[0], a[1],
等标记。现在,当我 select 一些随机节点(例如最短路径)并将它们存储在第二个数组 b
中时,看起来像 b = [ object, object, object, object.....]
,
有没有办法自动 return 数组 a
中的位置?例如,当我单击一个随机节点时,它位于数组 a
的第 3 个位置,这意味着在 a[2]
,然后我希望这个位置被 returned 或自动存储,可能在第三个数组 c
中。最后,它可能看起来像:c= [ a[2], a[6], a[18], a[7], a[0] .....]
。希望有人能帮我解决我的问题。非常感谢!
我不确定您的数组格式以及对象包含的内容。使用 indexOf,https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf,可能是一个解决方案。
使用 indexOf,您可以使用在第二个数组中单击的对象搜索第一个数组,然后可以将其推送到第三个数组。
如果我正确理解你的问题,你的数组 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