проверка совпадений
Коллеги, доброго времени суток:
есть массивы: 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, время: 16:40. |