Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сравнить двумерный массив с одномерным (https://javascript.ru/forum/misc/60898-sravnit-dvumernyjj-massiv-s-odnomernym.html)

x1ds 26.01.2016 17:35

Сравнить двумерный массив с одномерным
 
Подскажите как сравнить 2 разных массива и выводить если совпадение имеется "как на примере" то выводить true
var m1 = [[1, 0, 0],[2, 3, 0],[1,2, 3],[1, 2, 5],[1, 3, 5]];
var m2 = [1,2,1,1,5];


либо может как то преобразовывать 1 мерный в 2 мерный

рони 26.01.2016 17:44

x1ds,
:blink: интересно что вы спросили?

x1ds 26.01.2016 17:49

У меня есть 2 массива, мне нужно сравнить их, и если к примеру первый элемент из массива m2, число 1, есть в первом элементе массива m1, то мы возвращаем true . Только мне нужно что бы это было для всех элементов, и если они все совпадут то true, если хоть 1 число не совпадет то false

var m1 = [[1, 0, 0],[2, 3, 0],[1,2, 3],[1, 2, 5],[1, 3, 5]];
var m2 = [1,2,1,1,5];

рони 26.01.2016 17:52

x1ds,
теплее ... но также ...ни ... не понятно :(

laimas 26.01.2016 18:22

x1ds, массив m2 заведомо не равен массиву m1[0] уже только потому, что у них разное количество элементов, и не важно при этом есть ли значения m2 среди значений m1[0]. Вы не равенство пытаетесь определить, а вхождения, так? Тогда нужно брать только уникальные значения из массива m2.

x1ds 26.01.2016 18:25

Цитата:

Сообщение от laimas (Сообщение 405111)
x1ds, массив m2 заведомо не равен массиву m1[0] уже только потому, что у них разное количество элементов, и не важно при этом есть ли значения m2 среди значений m1[0]. Вы не равенство пытаетесь определить, а вхождения, так? Тогда нужно брать только уникальные значения из массива m2.

Да все верно, вхождения

laimas 26.01.2016 18:38

Ну и поясните - есть в первом элементе массива m1, то мы возвращаем true . Только мне нужно что бы это было для всех элементов.

Массив m1 имеет 5 элементов, значит есть в первом элементе массива m1 трактуем проверить вхождения значений m2 только первого элемента массива m1, то есть m1[0]. Или же нужно проверять также вхождения значений m2 и в остальных элементах m1, то есть - m1[1], m1[2], m1[3], .... (Только мне нужно что бы это было для всех элементов)?

У вас случайно нет "глубинной связи" между ними? То есть m2[0], как то по логике какой-то задачи связан с m1[0], а m2[1] с m1[1] и т.д.?

рони 26.01.2016 18:38

laimas,
:) что-то в массиве m2 уникальности никакой не вижу ...

x1ds 26.01.2016 18:41

var m1 = [[1, 0, 0],[2, 3, 0],[1,2, 3],[1, 2, 5],[1, 3, 5]];
var m2 = [1,2,1,1,5];

Если сравнивать вот эти 2 то тогда true

Если к примеру изменить какой то элемент то тогда false

var m1 = [[1, 0, 0],[2, 3, 0],[1,2, 3],[1, 2, 5],[1, 3, 5]];
var m2 = [5,2,1,1,5];

laimas 26.01.2016 18:41

Цитата:

Сообщение от рони
что-то в массиве m2 уникальности никакой не вижу

Я писал "нужно брать только уникальные значения", а не то, что все значения m2 уникальны. Смысл проверять вхождения 1, трижды. Я так думаю, он либо не правильно поясняет задачу, либо не может описать логической связи этих массивов.


Часовой пояс GMT +3, время: 06:21.