Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2016, 17:35
Интересующийся
Отправить личное сообщение для x1ds Посмотреть профиль Найти все сообщения от x1ds
 
Регистрация: 25.02.2015
Сообщений: 27

Сравнить двумерный массив с одномерным
Подскажите как сравнить 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 мерный
Ответить с цитированием
  #2 (permalink)  
Старый 26.01.2016, 17:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

x1ds,
интересно что вы спросили?
Ответить с цитированием
  #3 (permalink)  
Старый 26.01.2016, 17:49
Интересующийся
Отправить личное сообщение для x1ds Посмотреть профиль Найти все сообщения от x1ds
 
Регистрация: 25.02.2015
Сообщений: 27

У меня есть 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];
Ответить с цитированием
  #4 (permalink)  
Старый 26.01.2016, 17:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

x1ds,
теплее ... но также ...ни ... не понятно
Ответить с цитированием
  #5 (permalink)  
Старый 26.01.2016, 18:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

x1ds, массив m2 заведомо не равен массиву m1[0] уже только потому, что у них разное количество элементов, и не важно при этом есть ли значения m2 среди значений m1[0]. Вы не равенство пытаетесь определить, а вхождения, так? Тогда нужно брать только уникальные значения из массива m2.
Ответить с цитированием
  #6 (permalink)  
Старый 26.01.2016, 18:25
Интересующийся
Отправить личное сообщение для x1ds Посмотреть профиль Найти все сообщения от x1ds
 
Регистрация: 25.02.2015
Сообщений: 27

Сообщение от laimas Посмотреть сообщение
x1ds, массив m2 заведомо не равен массиву m1[0] уже только потому, что у них разное количество элементов, и не важно при этом есть ли значения m2 среди значений m1[0]. Вы не равенство пытаетесь определить, а вхождения, так? Тогда нужно брать только уникальные значения из массива m2.
Да все верно, вхождения
Ответить с цитированием
  #7 (permalink)  
Старый 26.01.2016, 18:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну и поясните - есть в первом элементе массива 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] и т.д.?
Ответить с цитированием
  #8 (permalink)  
Старый 26.01.2016, 18:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

laimas,
что-то в массиве m2 уникальности никакой не вижу ...
Ответить с цитированием
  #9 (permalink)  
Старый 26.01.2016, 18:41
Интересующийся
Отправить личное сообщение для x1ds Посмотреть профиль Найти все сообщения от x1ds
 
Регистрация: 25.02.2015
Сообщений: 27

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];
Ответить с цитированием
  #10 (permalink)  
Старый 26.01.2016, 18:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать двумерный массив и заполнить maternik Общие вопросы Javascript 3 19.10.2013 20:25
ДвумернЫй массив в базу и обратно Alexonus Общие вопросы Javascript 7 13.03.2013 19:05
Задачки на двумерный массив rjabijj Серверные языки и технологии 1 03.07.2012 09:06
Задачки на двумерный массив rjabijj Элементы интерфейса 2 02.07.2012 18:58
Очистить двумерный массив vah-smile Элементы интерфейса 7 30.03.2011 15:26