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

Как сравнить между собой несколько массивов и найти сходства и различия?

Мне нужно сравнить больше двух массивов и найти сходства и различия.
  • Вопрос задан
  • 788 просмотров
Подписаться 1 Простой 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
вы меня не поняли, мне нужно узнать как сравнить БОЛЬШЕ двух массивов. На ресурсах, предложенных вами есть сравнение только двух массивов, это я и сам нашел.

Нужно больше конкретики, что и с чем вы хотите сравнить и сколько массивов всего (хоть примерно).

Если сравнить каждый с эталонным, то просто пишете функцию сравнения и запускаете ее в цикле для всех.
Предположим есть массивы myArrays = [a, b, c,d, e, f]; и нужно сравнить их все с "a"
for( let i = 1; i < myArrays.length; i++) {
  myCompareFunc(a, myArrays[i]);
}


Предположим вы решили сравнить все со всеми, и у вас этих массивов заметно побольше двух. Тогда все сложно, и вот почему:
предположим у вас три массива a, b, c.
Тогда сравнить надо ab, ac, bc. Ввсего три сравнения, все просто.
Предположим их четыре: a,b,c,d. Тогда сравнений будет ab,ac,ad,bc,bd,cd. Шесть штук, норм.
Предположим, что нужно шесть сравнить. (a,b,c,d,e,f)
ab,ac,ad,ae,af,bc,bd,be,bf,cd,ce,cf,de,df,ef - пятнадцать штук. Вы уже начинаете что-то подозревать?
6! / ((6-2)! * 2)
Это называется сочетания.
Уже для 10 будет
10! / ((10-2)! * 2) = 45 сочетаний, и дальше это число будет расти.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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