проверка совпадений
Коллеги, доброго времени суток:
есть массивы: 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. Заранее благодарю. |
<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, спасибо за помощь))))
|
:) или так
// если надо чтобы все три ответа были в target result = combs.filter(comb => comb.every(c => targets.includes(c))) |
Ничего не понимаю!
Если Цитата:
Насколько можно понять, в каждом билете по 3 вопроса. Правильные ответы на первый билет - 0 на первый вопрос, 1 на второй, 2 на третий. Какие совпадения combs и targets надо проверять? |
Dilettante_Pro, targets это ответы, выбранные пользователем, combs это массив в котором каждый массив это правильные варианты ответов, нужно записать в result на сколько билетов пользователь ответил правильно. Примерно так
|
Роман Андреевич,
Вы абсолютно не ответили на мои вопросы. Прочтите, пожалуйста, еще раз повнимательнее и попробуйте ответить снова |
Часовой пояс GMT +3, время: 15:17. |