Показать сообщение отдельно
  #1 (permalink)  
Старый 23.02.2019, 10:25
Кандидат Javascript-наук
Отправить личное сообщение для Katy93 Посмотреть профиль Найти все сообщения от Katy93
 
Регистрация: 28.12.2018
Сообщений: 137

Удаление больше одного повторяющихся элементов массива
Я сделала судоку с помощью html 5 canvas. При прохождении одного уровня по идее должен идти подсчёт по количеству допущенных ошибок. Ошибки начисляются, таким образом, если пользователь поставил цифру, а по горизонтали, вертикали или в квадрате уже эта цифра есть, то это считается за ошибку. Так же я уже сделала подсказку на допущенную пользователем ошибку, все одинаковые цифры, которые есть в ряду, подсвечиваются красным цветом. Таких проверок (циклов) у меня три по горизонтали, вертикали и в квадрате. Я создала массив под названием err, туда я буду записывать цифру, которую пользователь выберет (переменная массив arr[number]) и номер ячейки – number. в итоге получается вот, что:
err.push([arr1[number],number]);
И так как у меня три цикла проверки с условием, то я err.push([arr1[number],number]); добавлю в три цикла.

И если в трёх разных циклах по горизонтали вертикали и квадрате попадутся три одинаковых цифры, то ошибка запишется трижды.

В конце хочу создать ещё один цикл, который бы удалял одинаковые ячейки массива, т.е. происходило бы сравнение в условии по цифре и номеру ячейки arr1[number] и number и если в массиве есть повторы, то лишние ячейки массива удалялись. Как это можно сделать?

Проверка по цифре очень важна, вдруг пользователь опять ошибётся и поставит не правильную цифру в эту же ячейку.
Ответить с цитированием