Задать вопрос
@eldar_web

Как в Ruby можно сравнивать два массива, если порядок разный?

Например, есть массив:
foo1 = [
{name: 'Траволта', age: '15'},
{name: 'Чубайс', age: '50'}
]

foo2 = [
{ name: 'Чубайс', age: '50'},
{name: 'Траволта', age: '15'}
]


Содержание у них одинаковый, но порядок расположения у них разный,
и при проверке равенства == выдаст false. Как можно сделать проверку равенства в такому случае?
  • Вопрос задан
  • 409 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
У вас разные массивы.
[0, 1] != [1, 0].

Попробуйте сравнить следующим образом.

foo1.sort_by { |h| h.first } == foo2.sort_by { |h| h.first }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы