Показать сообщение отдельно
  #6 (permalink)  
Старый 26.07.2017, 00:48
Аспирант
Отправить личное сообщение для shoopik Посмотреть профиль Найти все сообщения от shoopik
 
Регистрация: 02.07.2017
Сообщений: 83

Сообщение от рони Посмотреть сообщение
(mas[y]= mas[y]||{}) && mas[y][x]==1 ?  (delete mas[y][x],!Object.keys(mas[y]).length && delete mas[y],ctx.clearRect(x,y,10,10)) : (mas[y][x]=1,ctx.fillRect(x,y,10,10));
Можно поподробней вот это место ? Сложновато для меня,
(mas[y]= mas[y]||{})
если значение [y] в массиве равен самому себе или хоть чему ?
и mas[y][x]==1 - значениям [y] и [x] - присвоена единица, тогда мы
delete mas[y][x] - удаляем это значение,
!Object.keys(mas[y]).length - длина массива Y, не понимаю что делает она и восклицательный знак перед ней)))
&& delete mas[y],ctx.clearRect(x,y,10,10)) - и удаляем массив [y] и очищаем этот квадратик
или же если условие не выполняется, мы присваиваем квадратику единичку и заполняем его
Ответить с цитированием