Мой сайт itgid.info/ Курс JS 2.0 itgid.info/course/javascript-2 Чат t.me/jsrules Почему все тупят на массивах - ошибки учителя
КОМЕНТАРІ: 77
@dimageorgiev57984 роки тому
Только сильный признает ошибок ! Алекс ты чесный и молодец ! Спасибо за труды !
@lezgin18233 роки тому
Вот за это я Вас и уважаю!!! Ну не только за это конечно 😁. Молодец!!! Самокритично, честно, а главное все доходчиво объяснили. Успехов Вам!!! Надеюсь меня хватит на все Ваши курсы 😁
@user-il3vn7ye4n4 роки тому
Огромное спасибо! У Вас интересный подход к обучению ,я благодаря Вашим урокам во многом разобрался. Успехов Вам💪💪💪
@user-pe4gt9jk5c4 роки тому
а можно еще рассказать про .join() ))) Тогда смогут быстрее делать и не перебирать вторым циклом для сохранения в out. При этом не будет лишнего символа в конце результата))
@Vladislav_Kovnatskiy4 роки тому
Во втором цикле ошибка копирования: при выводе массива "р" ограничение цикла по длине массива "m" а не "p". И если бы массив "р" отличался длинной, то при выводе потеряли бы "выступающие" элементы. Александр на уроках всегда акцентирует внимание на опасности копирования кода. У самого так было...
@Ireile4 роки тому
Спасибо Вам, за разъяснения. Очень помогают ваши уроки.
@itgid4 роки тому
спасибо
@vladvoloshenko57014 роки тому
большое спасибо вам за ваши уроки, очень всё понятно и актуально , еще раз спасибо))
@user-ff7cm1qf7u2 роки тому
Очень полезно! Огромное спасибо!
@alexforos54252 роки тому
Спасибо за пояснения!
@_Iokanaan_Marusidze_4 роки тому
Respect ! Не каждый может признать свои ошибки.
@user-cs1tq2mq4h4 роки тому
Добрый день , Александр , уважаю ваши уроки , ведь сам по них учусь , но по поводу массивов всё действительно правильно!!!!
@itgid4 роки тому
спасибо!
@Babuta874 роки тому
За языковую конструкцию "должны были понимать" лайк и подписка!)
@midnightstar_zoriana11 місяців тому
Спасибо большое❤❤❤❤❤
@virtualnetscpe11 місяців тому
не прохожу ваши курсы, но видео очень полезное для меня самоучки было, спасибо
@webrubinРік тому
Хороший урок , полезный.
@user-dk2cn2hz7n4 роки тому
Строка 22 я бы написал out += `${p[i]} `; А так в уроке не очень понятно зачем выводили в обратных апострофах. Если вы конкатенацию внутри доллара старую применяете. Спасибо Вам Александр без Ваших курсов сейчас бы еще ES5 пользовался, причем довольно коряво. ) Сейчас на Ваших курсах дорос до понимания зачем нужны всякие там Laravel и Vue. Опять же случайно упомянутый в одном из уроков JSDoc буквально перевернул мое понимание в документировании своего кода. Жаль я полноценное разъяснение нашел только в англоязычном интернете и документации. Сам подход планировать перед тем как что то писать пришел на Ваших уроках. Что обработать во фронте, а что оставить бэку. В каком формате и что будет передаваться. Что можно в LocalStorage положить что кукам отдать, а что на плечи сессий оставить. Раньше ввязываешься в бой, а там куда кривая выведет. ))) Спасибо за Ваш труд.
@digitalturkistan18574 роки тому
Через три юнита закончу js факультет дальше еще пять курсов есть
@---fi7pp3 роки тому
это по типу модели MVC ?
@Vladikslavik3 роки тому
Я не хэйтер, но после прочтения задачи, мне в голову моментально пришёл join ))
@user-rs9jn9oy5gРік тому
боже храни тебя и всех твоих родных.
@sergyivanoff46494 роки тому
А на regex можно сделать видос?
@raff_m_d69712 роки тому
спасибо
@RedShucovРік тому
ну прям MVP :)
@digitalturkistan18574 роки тому
Я тоже студент Алекса.
@sergiyshatunov38733 роки тому
Не является ли ошибкой показывать массивы до объектов? Ведь объект это предок массива и объяснять основы работы с массивом на основе понимания работы с объектом куда проще. У многих преподавателей наблюдал эту особенность. Кроме того, все задачи до прохождения массивов решаются тернарным оператором и рекурсией. Можно сначала показать тернарный оператор, а потом if и объяснить в чём различия. Сначла показать рекурсию, потом while и for, сразу объяснив почему они предпочтительней и что такое стек вызовов.
@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 тут много таких комментаторов , которые не слушают ,что Вы говорите в своем видео, что это всего лишь первое знакомство с массивами. И все методы массивов и методы их переборов все будет позже , а задача тут стояла для новичка именно через простой цикл(так как они уже прошли эту тему). Но,увы, не все умеют слушать , а показать какие они умные оказывается могут... Спасибо за уроки они Супер за такую цену просто ТОП👍
@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 роки тому
а зачем дублировать, просто поменяв переменную для второго массива? да еще и с ошибкой дублировать)
@letsplay62854 роки тому
Здравствуйте! Сначала скажу ,что очень улыбнулся с названия stupid array))))) с удовольствием смотрю ваши видео! Лично объединил методом .join(" "). Хотел бы у Вас узнать нет ли в этом каких-либо подводных камней?
@chris.p-dev4 роки тому
Нету ;) join отлично подходит,
@ostrov114 роки тому
подобное из за незнания элементарных основ устройства эвм
@Site_ProviderРік тому
Так а почему в начале с запятыми выводилось?
@PARAMOUNT-wm6cq4 місяці тому
зачетно +1
@arsa9464 роки тому
Че-то я как-то не понял. Если массив берем со страницы, тогда надо проверить это текст или числа, если текстовый формат, то преобразовать в числовой и для этого есть специальная функция. А также надо поставить функцию которая убирает все лишнее кроме цифр.
@Indi1go4 роки тому
Оттсортируйте плейлисты пожалуйста, невозможно смотреть по порядку
@iturist973 роки тому
На мой взгляд нужно было обязательно сказать, что в решении "ученика" ошибка в том что он отдает в "out" массив, поэтому у него выскочили запятые. А нужно строку! Думаю озвучить этот момент, было бы не лишним в данном разборе.
@user-go7xq8tn3j3 роки тому
@neys41713 роки тому
Сильнейший в историй ученик кеньчи
@davidlakazov91564 роки тому
Можно еще усложнить задачу,так чтобы последний проблем обрезался
@msetracer2 роки тому
Ага. Раньше я решал это проверкой индекса в теле цикла, а можно просто после цикла обрезать слайсом.
@jacksmirnoff36952 роки тому
не совсем понял в чем проблема наконкатенячить строку форИчем, если задача просто вывести элементы через пробел?
@KrivovNikolayРік тому
Вы видео смотрели? Он показывает для новичков , первые знакомства с массивами , а "умные" люди в комментариях начинаю. forEach проще плюс join ,он говорит что это все будут они позже проходить , а данное задание было именно перебором массива простым циклом. Но люди не слушают видимо ,а в комментариях потом пишут , якобы что так и так проще .Я думаю он все это знает и поэтому даёт все постепенно , а не одним махом все методы массивов и все варианты их переборов
@k0dzer04 роки тому
Потому что ещё не попробовали объекты и паттерны в полной мере, вот если попробуют тогда поймут, что перебор вложенных массивов даже со сложными алгоритмами - это лафа. ))
@lomakinAS164 роки тому
Почему бы просто не вывести через join? (document.querySelector(".out").innerHTML = p.join(" ");)
@user-iq9ll8lz9m4 роки тому
почему бы не послушать внимательно видео, там он говорит что студенты еще не знают этого
@user-sz4nz5dn3k3 роки тому
не понял зачем нужен массив р🤔 let out = "" for (let i = 0; i < m.length; i++) out += m[i]*2 + " " document.querySelector('.out').innerHTML = out
@user-lz1wb8yr1q2 роки тому
Он и не нужен
@user-my7cc2co5w3 роки тому
Не нужно выполнять конкатенацию в шаблонных литералах... out += `${x[i]} ` вместо out += `${x[i]} + ' ' `
@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)
@advokats0864 роки тому
ТАКОЕ ОЩУЩЕНИЕ, ЧТО ЧЕМ БОЛЬШЕ ИЗУЧАЕШЬ ПРОГРАММИРОВАНИЕ, ТЕМ БОЛЕЕ ВСЕ СТАНОВИТЬСЯ НЕПОНЯТНЕЕ... ГДЕ ДНО У ЭТОЙ 'КРОЛИЧЕЙ НОРЫ'.... !!!???
@itgid4 роки тому
нет
@olorclips5244 роки тому
Дна нет. В программировании учиться придется до конца карьеры. С возрастом это станет не под силу.
@Ireile4 роки тому
У меня такое ощущение было когда я циклы проходил. Цикл for - для чего переменная - i - думал-понял, по объектам цикл for key in obj. Мышление надо менять, учить основы и немного фантазии 😁 (как показалось, я пока что begginer)
@advokats0864 роки тому
@@olorclips524 А что такое - 'КОНЕЦ КАРЬЕРЫ'... ??? Я ПОЛУЧАЮ УДОВОЛЬСТВИЕ ОТ ОБУЧЕНИЯ... НО В ЭТОМ ВСЯ ЛОВУШКА... БЫТИЯ... МОЖНО НИКОГДА НЕ ВЫСКОЧИТЬ ИЗ 'ЦИКЛА ОБУЧЕНИЯ'... ВЕЧНОЕ УСЛОВИЕ - TRUE... !!!
@chris.p-dev4 роки тому
Вячеслав Попов значит плохо организованны мысли/знания в голове. Постарайтесь разделить и распределить их путем ответа на вопросы: «зачем?» и «когда/ в каких случаях?». Тогда вы будете точно знать зачем html/css а зачем js и почему в JS так много всего)
@iliaastafev5029Рік тому
Что то я не понял кто тупит. Есть две задачи 1 - умножить каждый элемент массива на два. 2 - вывести элементы через пробел. Где тут задача менять тип объектов в массиве? По мне, так проблема в том что все учат студентов как кодить (учат языку), но не учат быть разработчиком. Вот студент и не может правильно понять исходные условия из двух пунктов. Аналог - вы можете научить студента Немецкому в совершенстве, но он не станет новым Гёте.
@pizdatobi87874 роки тому
Здравствуйте, можно немного повыпендриваться? Спасибо заранее. Так вот.. const result = [7, 3, 21].map((item) => item * 2).join(' '); document.querySelector('.out').innerHTML = result;
@MrReflection5404 роки тому
Я туплю на рекурсии
@msetracer2 роки тому
Зачем было создавать второй массив? Этого не было в условии.
@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, без учета перспективы, что этот массив будет как либо изменяться. И вообще я этот коммент как шутку написал.