2015-09-01 5 views
2

У меня есть массив из выпущенных версий продукта, который выглядит следующим образом:Возвращает индекс элемента в массиве в улье

version_release  
[1, 2, 5, 7, 8, 9] 

Я хотел бы быть в состоянии найти следующий (или предыдущий) версия продукта, зная версию, о которой идет речь.

Например, я смотрю на 7-ой версии, следующая версия 8, предыдущая версия 5.

В улье, есть способ

  1. найти индекс " 7 "в массиве (4)
  2. Приращение (или уменьшение) этого индекса для возврата« 8 »(индекс 5) или« 5 »(индекс 3), соответственно?
+0

Возможно, вам нужно использовать 'indexOf ([значение])' для возврата позиции значения, а затем добавить или вычесть его из позиции индекса. – David

+0

Извините, я не смог найти хорошую документацию по этому поводу из-за карт сайта, дающих мне «индекс улей». У вас есть синтаксический пример? – Alex

ответ

2

Манипулирующие массивы in situ не очень SQL-ish. Вы можете попробовать «этот столбец первым», генерируя 1 запись на каждое значение массива, затем значения JOIN со смежными позициями (1 против 2, 2 против 3 ...), чтобы получить смысл преемственности.

Возможно, у BrickHouse library есть что-то более эффективное для вашего прецедента.

Смежные вопросы