Получить индекс элемента в массиве массивов в Groovy

У меня есть массив массивов.

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. Как получить индекс элемента [3] в my_array?

Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
1
0
3 363
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Запуск этого кода:

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. Другими словами, ваш код должен работать.

Кстати, вам действительно нужен список списков? Поскольку все списки имеют длину один, вы можете просто иметь список элементов напрямую.

Спасибо. Я использую движок Jenkins Groovy. Могут быть некоторые различия в зависимостях. Чтобы ответить на ваш вопрос. Мне это действительно не нужно. Могу ли я легко преобразовать список списка в список вместо того, чтобы быть дорогим?

SSF 25.05.2019 03:04
list.flatten() должен сделать это.
Matias Bjarland 25.05.2019 05:55

Другие вопросы по теме