Группировка массива путем сравнения 2 смежных элементов
У меня есть массив объектов, и я хотел бы сгруппировать их по разнице между атрибутами двух смежных элементов. Массив уже отсортирован по этому атрибуту. Например:
Исходный массив:
array = [a, b, c, d, e]
а также
a.attribute = 1
b.attribute = 3
c.attribute = 6
d.attribute = 9
e.attribute = 10
Если я хочу сгруппировать элементы так, чтобы разница между атрибутами 2 смежных элементов была меньше или равна 2, результат должен выглядеть так:
КОНЕЧНЫЙ РЕЗУЛЬТАТ
result_array = [[a, b], [c], [d, e]]
ЧТО Я ИМЕЮ
def group_elements_by_difference(array, difference)
result_array = []
subgroup = []
last_element_attribute = array.first.attribute
array.each do |element|
if element.attribute