Мой сайт itgid.info/ Курс JS 2.0 itgid.info/course/javascript-2 Чат t.me/jsrules Почему все тупят на массивах - ошибки учителя
Пікірлер: 77
@user-il3vn7ye4n4 жыл бұрын
Огромное спасибо! У Вас интересный подход к обучению ,я благодаря Вашим урокам во многом разобрался. Успехов Вам💪💪💪
@dimageorgiev57984 жыл бұрын
Только сильный признает ошибок ! Алекс ты чесный и молодец ! Спасибо за труды !
@user-pe4gt9jk5c4 жыл бұрын
а можно еще рассказать про .join() ))) Тогда смогут быстрее делать и не перебирать вторым циклом для сохранения в out. При этом не будет лишнего символа в конце результата))
@vladvoloshenko57014 жыл бұрын
большое спасибо вам за ваши уроки, очень всё понятно и актуально , еще раз спасибо))
@Ireile4 жыл бұрын
Спасибо Вам, за разъяснения. Очень помогают ваши уроки.
@itgid4 жыл бұрын
спасибо
@lezgin18234 жыл бұрын
Вот за это я Вас и уважаю!!! Ну не только за это конечно 😁. Молодец!!! Самокритично, честно, а главное все доходчиво объяснили. Успехов Вам!!! Надеюсь меня хватит на все Ваши курсы 😁
@user-ff7cm1qf7u2 жыл бұрын
Очень полезно! Огромное спасибо!
@alexforos54252 жыл бұрын
Спасибо за пояснения!
@Vladislav_Kovnatskiy4 жыл бұрын
Во втором цикле ошибка копирования: при выводе массива "р" ограничение цикла по длине массива "m" а не "p". И если бы массив "р" отличался длинной, то при выводе потеряли бы "выступающие" элементы. Александр на уроках всегда акцентирует внимание на опасности копирования кода. У самого так было...
@webrubin Жыл бұрын
Хороший урок , полезный.
@virtualnetscpe Жыл бұрын
не прохожу ваши курсы, но видео очень полезное для меня самоучки было, спасибо
@_Iokanaan_Marusidze_4 жыл бұрын
Respect ! Не каждый может признать свои ошибки.
@midnightstar_zoriana Жыл бұрын
Спасибо большое❤❤❤❤❤
@Babuta874 жыл бұрын
За языковую конструкцию "должны были понимать" лайк и подписка!)
@user-cs1tq2mq4h4 жыл бұрын
Добрый день , Александр , уважаю ваши уроки , ведь сам по них учусь , но по поводу массивов всё действительно правильно!!!!
@itgid4 жыл бұрын
спасибо!
@user-dk2cn2hz7n4 жыл бұрын
Строка 22 я бы написал out += `${p[i]} `; А так в уроке не очень понятно зачем выводили в обратных апострофах. Если вы конкатенацию внутри доллара старую применяете. Спасибо Вам Александр без Ваших курсов сейчас бы еще ES5 пользовался, причем довольно коряво. ) Сейчас на Ваших курсах дорос до понимания зачем нужны всякие там Laravel и Vue. Опять же случайно упомянутый в одном из уроков JSDoc буквально перевернул мое понимание в документировании своего кода. Жаль я полноценное разъяснение нашел только в англоязычном интернете и документации. Сам подход планировать перед тем как что то писать пришел на Ваших уроках. Что обработать во фронте, а что оставить бэку. В каком формате и что будет передаваться. Что можно в LocalStorage положить что кукам отдать, а что на плечи сессий оставить. Раньше ввязываешься в бой, а там куда кривая выведет. ))) Спасибо за Ваш труд.
@sergiyshatunov38734 жыл бұрын
Не является ли ошибкой показывать массивы до объектов? Ведь объект это предок массива и объяснять основы работы с массивом на основе понимания работы с объектом куда проще. У многих преподавателей наблюдал эту особенность. Кроме того, все задачи до прохождения массивов решаются тернарным оператором и рекурсией. Можно сначала показать тернарный оператор, а потом if и объяснить в чём различия. Сначла показать рекурсию, потом while и for, сразу объяснив почему они предпочтительней и что такое стек вызовов.
@Vladikslavik3 жыл бұрын
Я не хэйтер, но после прочтения задачи, мне в голову моментально пришёл join ))
@raff_m_d69712 жыл бұрын
спасибо
@user-rs9jn9oy5g Жыл бұрын
боже храни тебя и всех твоих родных.
@arsa9464 жыл бұрын
Че-то я как-то не понял. Если массив берем со страницы, тогда надо проверить это текст или числа, если текстовый формат, то преобразовать в числовой и для этого есть специальная функция. А также надо поставить функцию которая убирает все лишнее кроме цифр.
@letsplay62854 жыл бұрын
Здравствуйте! Сначала скажу ,что очень улыбнулся с названия stupid array))))) с удовольствием смотрю ваши видео! Лично объединил методом .join(" "). Хотел бы у Вас узнать нет ли в этом каких-либо подводных камней?
@chris.p-dev4 жыл бұрын
Нету ;) join отлично подходит,
@RedShucov Жыл бұрын
ну прям MVP :)
@digitalturkistan18574 жыл бұрын
Через три юнита закончу js факультет дальше еще пять курсов есть
@iturist974 жыл бұрын
На мой взгляд нужно было обязательно сказать, что в решении "ученика" ошибка в том что он отдает в "out" массив, поэтому у него выскочили запятые. А нужно строку! Думаю озвучить этот момент, было бы не лишним в данном разборе.
@UkraineAb0veAll4 жыл бұрын
// Задача: есть массив (чисел): let m = [7, 3, 21]; // По нажатию кнопки с class=".btn-1"надо вывести значения этого массива, увеличенные в 2 раза. Выводить значения надо через ПРОБЕЛ function arrOut() { let a = []; // операции - изменение значений, структуры, количества элементов: for (let i = 0; i < m.length(); i++) { a[i] = m[i] * 2; } console/log(a); // вывод (результирующего) массива: let out = []; for (let i = 0; i < m.length(); i++) { out += `${a[i] + ' ''}`; } document.querySelector('.out').innerHTML = out; } document.querySelector('.btn-1').addEventListener('click', arrOut);
@user-iq9ll8lz9m4 жыл бұрын
а зачем дублировать, просто поменяв переменную для второго массива? да еще и с ошибкой дублировать)
@user-wn5nc6oo9o4 жыл бұрын
Мой вариант решение let m = [7, 3, 2]; function f1(arr) { arr = m.map(ind => ind * 2 + ' ') arr = arr.join(" ") document.querySelector('.out').innerHTML = arr } document.querySelector('.bth').addEventListener('click', f1);
@itgid4 жыл бұрын
Иван Назаров да только это первое занятие по массивам. Рано map
@KrivovNikolay Жыл бұрын
@@itgid тут много таких комментаторов , которые не слушают ,что Вы говорите в своем видео, что это всего лишь первое знакомство с массивами. И все методы массивов и методы их переборов все будет позже , а задача тут стояла для новичка именно через простой цикл(так как они уже прошли эту тему). Но,увы, не все умеют слушать , а показать какие они умные оказывается могут... Спасибо за уроки они Супер за такую цену просто ТОП👍
@Indi1go4 жыл бұрын
Оттсортируйте плейлисты пожалуйста, невозможно смотреть по порядку
@user-go7xq8tn3j3 жыл бұрын
@PARAMOUNT-wm6cq5 ай бұрын
зачетно +1
@iliaastafev5029 Жыл бұрын
Что то я не понял кто тупит. Есть две задачи 1 - умножить каждый элемент массива на два. 2 - вывести элементы через пробел. Где тут задача менять тип объектов в массиве? По мне, так проблема в том что все учат студентов как кодить (учат языку), но не учат быть разработчиком. Вот студент и не может правильно понять исходные условия из двух пунктов. Аналог - вы можете научить студента Немецкому в совершенстве, но он не станет новым Гёте.
@sergyivanoff46494 жыл бұрын
А на regex можно сделать видос?
@---fi7pp3 жыл бұрын
это по типу модели MVC ?
@jacksmirnoff36952 жыл бұрын
не совсем понял в чем проблема наконкатенячить строку форИчем, если задача просто вывести элементы через пробел?
@KrivovNikolay Жыл бұрын
Вы видео смотрели? Он показывает для новичков , первые знакомства с массивами , а "умные" люди в комментариях начинаю. forEach проще плюс join ,он говорит что это все будут они позже проходить , а данное задание было именно перебором массива простым циклом. Но люди не слушают видимо ,а в комментариях потом пишут , якобы что так и так проще .Я думаю он все это знает и поэтому даёт все постепенно , а не одним махом все методы массивов и все варианты их переборов
@k0dzer04 жыл бұрын
Потому что ещё не попробовали объекты и паттерны в полной мере, вот если попробуют тогда поймут, что перебор вложенных массивов даже со сложными алгоритмами - это лафа. ))
@Site_Provider Жыл бұрын
Так а почему в начале с запятыми выводилось?
@digitalturkistan18574 жыл бұрын
Я тоже студент Алекса.
@user-sz4nz5dn3k3 жыл бұрын
не понял зачем нужен массив р🤔 let out = "" for (let i = 0; i < m.length; i++) out += m[i]*2 + " " document.querySelector('.out').innerHTML = out
@user-lz1wb8yr1q2 жыл бұрын
Он и не нужен
@ostrov114 жыл бұрын
подобное из за незнания элементарных основ устройства эвм
@lomakinAS164 жыл бұрын
Почему бы просто не вывести через join? (document.querySelector(".out").innerHTML = p.join(" ");)
@user-iq9ll8lz9m4 жыл бұрын
почему бы не послушать внимательно видео, там он говорит что студенты еще не знают этого
@davidlakazov91564 жыл бұрын
Можно еще усложнить задачу,так чтобы последний проблем обрезался
@msetracer2 жыл бұрын
Ага. Раньше я решал это проверкой индекса в теле цикла, а можно просто после цикла обрезать слайсом.
@neys41713 жыл бұрын
Сильнейший в историй ученик кеньчи
@user-my7cc2co5w4 жыл бұрын
Не нужно выполнять конкатенацию в шаблонных литералах... out += `${x[i]} ` вместо out += `${x[i]} + ' ' `
@msetracer2 жыл бұрын
Зачем было создавать второй массив? Этого не было в условии.
@advokats0864 жыл бұрын
ТАКОЕ ОЩУЩЕНИЕ, ЧТО ЧЕМ БОЛЬШЕ ИЗУЧАЕШЬ ПРОГРАММИРОВАНИЕ, ТЕМ БОЛЕЕ ВСЕ СТАНОВИТЬСЯ НЕПОНЯТНЕЕ... ГДЕ ДНО У ЭТОЙ 'КРОЛИЧЕЙ НОРЫ'.... !!!???
@itgid4 жыл бұрын
нет
@olorclips5244 жыл бұрын
Дна нет. В программировании учиться придется до конца карьеры. С возрастом это станет не под силу.
@Ireile4 жыл бұрын
У меня такое ощущение было когда я циклы проходил. Цикл for - для чего переменная - i - думал-понял, по объектам цикл for key in obj. Мышление надо менять, учить основы и немного фантазии 😁 (как показалось, я пока что begginer)
@advokats0864 жыл бұрын
@@olorclips524 А что такое - 'КОНЕЦ КАРЬЕРЫ'... ??? Я ПОЛУЧАЮ УДОВОЛЬСТВИЕ ОТ ОБУЧЕНИЯ... НО В ЭТОМ ВСЯ ЛОВУШКА... БЫТИЯ... МОЖНО НИКОГДА НЕ ВЫСКОЧИТЬ ИЗ 'ЦИКЛА ОБУЧЕНИЯ'... ВЕЧНОЕ УСЛОВИЕ - TRUE... !!!
@chris.p-dev4 жыл бұрын
Вячеслав Попов значит плохо организованны мысли/знания в голове. Постарайтесь разделить и распределить их путем ответа на вопросы: «зачем?» и «когда/ в каких случаях?». Тогда вы будете точно знать зачем html/css а зачем js и почему в JS так много всего)
@safara_umarov4 жыл бұрын
будь проще)) один for)) var arr = [7, 3, 21]; function t1() { var newarr = []; var out = ''; for (var i = 0; i < arr.length; i++) { newarr[i] = arr[i] * 2; out += newarr[i] + " "; } var demo = document.querySelector("h2"); demo.innerHTML = out; } var button = document.querySelector("button"); button.addEventListener("click", t1)
@pizdatobi87874 жыл бұрын
Здравствуйте, можно немного повыпендриваться? Спасибо заранее. Так вот.. const result = [7, 3, 21].map((item) => item * 2).join(' '); document.querySelector('.out').innerHTML = result;
@MrReflection5404 жыл бұрын
Я туплю на рекурсии
@JON-dj5uy4 жыл бұрын
Мне кажется с твоей стороны вообще нет ошибки, зачем что то пушить какие то дебри, 2 способ в 10раз проще чем первоначальная структура
@evgeniyprowork4 жыл бұрын
const out = document.querySelector('.out'); const m = [7, 3, 21]; // const arr = m.map(el => el * 2).join(' '); // out.innerHTML = arr; function foo(array, mult) { let text = ''; for (let i = 0; i < array.length; i++) { out.innerHTML += array[i] * mult + ' '; } } foo(m, 2);
А если будет 20 элементов в массиве? А если 200? Не надо учить перебирать элементы вручную/напрямую. Это редко нужно, например когда вы работаете с системой координат в массивах, пример: [x, y]
@Wyraxx4 жыл бұрын
це жах, а не простий спосіб рішення якщо хочеш все в один рядок - використовуй map() абощо, а не оцей перебір [0]+[1]+[2], вже навели приклад, що в масиві може бути овердофіга елементів.
@TtTalkUA4 жыл бұрын
зачем вообще париться если можно на калькуляторе самому посчитать и написать вручную function t1 () { document.querySelector(".out").innerHTML = '21 6 42' }
@Ams-sv5bf4 жыл бұрын
@@chris.p-dev в условий задачи не говорилось перебирать массив, а просто умножить каждый элемент на 2 и вывести это в out, без учета перспективы, что этот массив будет как либо изменяться. И вообще я этот коммент как шутку написал.