Size: a a a

JavaScript — русскоговорящее сообщество

2020 October 26

DK

Denis Krasnov in JavaScript — русскоговорящее сообщество
Denis Krasnov
Кто-нибудь делал игры на канвасе? Интересует вопрос адаптива
Че неужели никто не сталкивался?
источник

Ю

Юра in JavaScript — русскоговорящее сообщество
Alex V
Arrray.find возвращает ПЕРВЫЙ элемент в массиве, коллбэк над которым вернёт не ложное значение. У вас коллбэк возвращает из тернарника ОБЪЕКТ ВСЕГДА (объект не ложен всегда в жыэс), то есть только первый элемент вернёт свою тушку с изменённым флагом, ещё если вложенность есть - то плюс первый элемент вложенности и так далее рекурсивно по первым элементам. Разве это правильная работа? или я не прав?
то есть не правильно тернарник использовать с find? лучше вернуть обьект, а потом отдельно поменять ему поле на противоположное?
источник

AV

Alex V in JavaScript — русскоговорящее сообщество
Юра
то есть не правильно тернарник использовать с find? лучше вернуть обьект, а потом отдельно поменять ему поле на противоположное?
там find вообще нафиг не нужен. нужно разбить на две функции - первая меняет флаг на обратный, вторая рекурсивно обходит произвольное дерево, и первую применять над каждым элементом второй
источник

AV

Alex V in JavaScript — русскоговорящее сообщество
обходим так - пробегаем по всему массиву, проверяя, есть ли у элемента дети, если есть - запускаем новую итерацию, если нет или с детьми закончили  - бежим дальше.
или можно поискать либу для преобразования вложенной массивной структуры в плоскую, а потом просто пробежать по ней, но я не помню такой для вложенности произвольной глубины
источник

Ю

Юра in JavaScript — русскоговорящее сообщество
то есть пробегаемся по массиву, смотрим есть ли дети, есть есть, вызываем вторую функцию (передаем ей параметры), меняем флаг и запускаем новую итерацию?
источник

AV

Alex V in JavaScript — русскоговорящее сообщество
Юра
то есть пробегаемся по массиву, смотрим есть ли дети, есть есть, вызываем вторую функцию (передаем ей параметры), меняем флаг и запускаем новую итерацию?
бежим по массиву, меняя флаги
если есть дети - делаем забег в детей, меняя флаги
и так рекурсивно
источник

a

allpeg in JavaScript — русскоговорящее сообщество
обход дерева можно сделать без рекурсии, через стек или очередь (в зависимости от того обход в ширину или по уровням)
источник

Ю

Юра in JavaScript — русскоговорящее сообщество
Alex V
бежим по массиву, меняя флаги
если есть дети - делаем забег в детей, меняя флаги
и так рекурсивно
тут скорее так, нужно найти обьект по ID. Поменять внутри него флаг, проверить есть ли у него массив детей, пройтись по ним и поменять, ну и если у детей снова есть дети, повторяем
источник

AV

Alex V in JavaScript — русскоговорящее сообщество
Юра
тут скорее так, нужно найти обьект по ID. Поменять внутри него флаг, проверить есть ли у него массив детей, пройтись по ним и поменять, ну и если у детей снова есть дети, повторяем
ну я не знаю, изначально про поиск по ID в условии не было) был массив и всё
источник

AV

Alex V in JavaScript — русскоговорящее сообщество
allpeg
обход дерева можно сделать без рекурсии, через стек или очередь (в зависимости от того обход в ширину или по уровням)
так там тоже рекурсия в алгоритме)
источник

a

allpeg in JavaScript — русскоговорящее сообщество
Alex V
так там тоже рекурсия в алгоритме)
ну, по факту да, а по определению - нет. если используется стек языка программирования, то это рекурсия, а если просто структура данных стек, то вроде нет.

Иначе любой проход дерева был бы рекурсивным, даже тот, что реализован на языке программирования без рекурсии.
источник

AV

Alex V in JavaScript — русскоговорящее сообщество
allpeg
ну, по факту да, а по определению - нет. если используется стек языка программирования, то это рекурсия, а если просто структура данных стек, то вроде нет.

Иначе любой проход дерева был бы рекурсивным, даже тот, что реализован на языке программирования без рекурсии.
Тут можно развести дискуссию, переходящую в срач, но лень)
источник

М

Молодой in JavaScript — русскоговорящее сообщество
Всем привет! Случилась неприятная ситуация, create-react-app
service worker закэшировал запрос на корень сайта
при новом билде ловится ошибка 404 и белый экран т.к. старых файлов js оно не находит
что делать? с корректировкой...понятно что я могу кэш почистить, а обычный юзер не понимает что делать
источник

M

Mafioznik in JavaScript — русскоговорящее сообщество
Парни, мне приходит в axios модель и я начинаю читать её поля. Возможно я неправильно укажу поле. Как проверить что все поля у такой модели не undefined? Например напишу userId, а там будет uId
источник

SS

Sergey S in JavaScript — русскоговорящее сообщество
Mafioznik
Парни, мне приходит в axios модель и я начинаю читать её поля. Возможно я неправильно укажу поле. Как проверить что все поля у такой модели не undefined? Например напишу userId, а там будет uId
не понятен до конца вопрос, если проверить на не undefined, сделай функцию, берет список полей что должны быть в моделе, и проверяет что они не undefined) можно сделать слой валидации, если посерьезней решать проблему, валидацию можно как своими силами так и силами пакета какого-то организовать
источник

LC

Lexa Core in JavaScript — русскоговорящее сообщество
Есть кто из Мск ?
источник

🚀

🚀shmih🚀shmih🚀... in JavaScript — русскоговорящее сообщество
Lexa Core
Есть кто из Мск ?
источник

OR

Oleg Rakov in JavaScript — русскоговорящее сообщество
Парни, ку всем. Не могу понять в чем причина не правильной отработки алгоритма..
Суть алгоритма, если минимум 1 выполненый, выполненные все будут, если все выполненные убрать все выполненные
function completeAllIfOneComplete() {
 let arrayOfLi = list.children; // Масив Списка
 for (let i = 0; i < arrayOfLi.length; i++) {
   if (arrayOfLi[i].classList.contains('checked')) {
     arrayOfLi[i].classList.add('checked')
   } else {
     arrayOfLi[i].classList.remove('checked')
   }
 }
}
источник

a

allpeg in JavaScript — русскоговорящее сообщество
Oleg Rakov
Парни, ку всем. Не могу понять в чем причина не правильной отработки алгоритма..
Суть алгоритма, если минимум 1 выполненый, выполненные все будут, если все выполненные убрать все выполненные
function completeAllIfOneComplete() {
 let arrayOfLi = list.children; // Масив Списка
 for (let i = 0; i < arrayOfLi.length; i++) {
   if (arrayOfLi[i].classList.contains('checked')) {
     arrayOfLi[i].classList.add('checked')
   } else {
     arrayOfLi[i].classList.remove('checked')
   }
 }
}
>  если минимум 1 выполненый, выполненные все будут, если все выполненные убрать все выполненные

а если ни одного выполненого, то что?

сейчас алгоритм проверяет, что если каждый элемент выполненный, то он ему ставит класс который уже есть, а если класса нет, он его убирает
источник

a

allpeg in JavaScript — русскоговорящее сообщество
... т.е. алгоритм не делает ничего
источник