我有一个数组数组。
def my_array = [[null], [10382], [11901], [null], [10386], [10385], [11901], [10386], [11901], [10386], [3], [null], [10504], [3]]
我想查找某个元素第一次出现的索引,例如 [3]
。
我正在使用findIndexOf
。
def index = my_array.findIndexOf { it == [3] }
但是,这会返回-1
。我认为这是数组 [3]
中元素的索引,而不是数组 my_array
中的元素的索引。如何获取 my_array
中元素 [3]
的索引?
最佳答案
运行此代码:
def my_array = [[null], // index 0
[10382], // index 1
[11901], // index 2
[null], // index 3
[10386], // index 4
[10385], // index 5
[11901], // index 6
[10386], // index 7
[11901], // index 8
[10386], // index 9
[3], // index 10
[null], // index 11
[10504], // index 12
[3]] // index 13
def index = my_array.findIndexOf { it == [3] }
println "index: $index"
这与您的代码结果相同:
~> groovy solution.groovy
index: 10
~>
在 java 8 和 groovy 2.1.16 上。换句话说,您的代码应该可以工作。
顺便说一句,您真的需要一个列表列表吗?由于所有列表的长度都是一个,因此您也可以直接拥有一个元素列表。
关于arrays - 在 Groovy 中检索数组数组中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56284597/