Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.11.2018, 11:15
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

проверка совпадений
Коллеги, доброго времени суток:
есть массивы:
let combs = [
			[0,1,2],
			[3,4,5],
			[6,7,8],
			[0,3,6],
			[1,4,7],
			[2,5,8],
			[0,4,8],
			[2,4,6]
		];
let targets = [1,2,0,5,6];
let result = [];


Первый массив combs - это массив правильных ответов из билетов. Ответов и билетов может быть сколько угодно .

Как проверить есть ли в массиве targets совпадения с комбинациями из combo????? Если есть совпадение то то сохранить совпадения в result.

Заранее благодарю.
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2018, 11:25
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

<script>
  let combs = [
    [0, 1, 2],
    [3, 4, 5],
    [6, 7, 8],
    [0, 3, 6],
    [1, 4, 7],
    [2, 5, 8],
    [0, 4, 8],
    [2, 4, 6]
  ];
  let targets = [1, 2, 0, 5, 6];
  let result = [];
  // если надо чтобы все три ответа были в target
  result = combs.filter(comb => comb.filter(c => targets.includes(c)).length === comb.length)
  // если любой из ответов в target
  // result = combs.filter(comb => comb.filter(c => targets.includes(c)).length)
  console.log(result)
</script>

Последний раз редактировалось SuperZen, 07.11.2018 в 11:34.
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2018, 11:31
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

SuperZen, спасибо за помощь))))
Ответить с цитированием
  #4 (permalink)  
Старый 07.11.2018, 12:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,114

или так
// если надо чтобы все три ответа были в target
  result = combs.filter(comb => comb.every(c => targets.includes(c)))
Ответить с цитированием
  #5 (permalink)  
Старый 07.11.2018, 12:26
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Ничего не понимаю!
Если
Сообщение от Роман Андреевич
combs - это массив правильных ответов из билетов
то что такое targets? Это ответы? ответы на что?
Насколько можно понять, в каждом билете по 3 вопроса.
Правильные ответы на первый билет - 0 на первый вопрос, 1 на второй, 2 на третий.
Какие совпадения combs и targets надо проверять?
Ответить с цитированием
  #6 (permalink)  
Старый 07.11.2018, 18:22
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

Dilettante_Pro, targets это ответы, выбранные пользователем, combs это массив в котором каждый массив это правильные варианты ответов, нужно записать в result на сколько билетов пользователь ответил правильно. Примерно так
Ответить с цитированием
  #7 (permalink)  
Старый 08.11.2018, 07:26
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Роман Андреевич,
Вы абсолютно не ответили на мои вопросы. Прочтите, пожалуйста, еще раз повнимательнее и попробуйте ответить снова
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка, пока файл не будет готов headmaster911 AJAX и COMET 4 18.04.2017 08:44
Проверка совпадений в массиве tmkd Общие вопросы Javascript 6 30.09.2016 10:16
Проверка 'авторизации' DJ_CD Элементы интерфейса 4 18.12.2014 15:19
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Проверка встроенной поддержки типа с помощью библиотеки Modernizr viy.li Библиотеки/Тулкиты/Фреймворки 3 15.06.2013 15:48