Нет ничего хуже при обучении чем догматизация каких либо конкретных методов или подходов. человек потом ляпнет где-то, что slice это зло и на этом собес закончится
@itgidАй бұрын
Т.е. разбираться не будете? Например в видео вы не разобрались и сделали вывод на непонятной основе - сделали догматизацию своих домыслов. Ведь в видео приводится и адекватный способ применения и идет разбор почему применяется и даже делается ударение на том, что нужно уметь документацию и делать адекватный выбор. Или вы только по заголовку судите?
@KadochnikovKАй бұрын
В первом задании есть условие "функция выводит значения массива arr_14 в .out_14 с помощью цикла". Не оправдываю применение slice в данной ситуации, но решение с помощью join не соответствует условию.
@12345_qwertyАй бұрын
Join сам по себе проходит циклом
@KadochnikovKАй бұрын
@@12345_qwerty если в задаче есть подобное уточнение, то составитель явно дает понять, что решение должно быть с использованием циклов, а не с любым методом, который внутри себя использует циклы.
@12345_qwertyАй бұрын
@ согласен
@oleksandrkotovskyi4203Ай бұрын
ООООЧЕНЬ нравится подача информации!!!! не просто нажмите сюда и сюда, а обучение механикам и основам !! это шикарно!! надеюсь VUE.JS когда-то появится на канале?!
@Tar2gaАй бұрын
кроме аргумента, что спред визуально больше нравится чем слайс, я не услышал, В чём проблема слайса то?
@areyousleeping7054Ай бұрын
проблема в том, что контринтуитивно, и метод используется не по назначению
@glebr7557Ай бұрын
Дак так многое можно не по назначению пользовать, а досталось слайсу )
@markusnotfound3007Ай бұрын
@@areyousleeping7054 еще аргумент будет?
@pickun1524Ай бұрын
@@areyousleeping7054 бред
@chorny33Ай бұрын
Какая-то вкусовщина, сильно ты на практике сидишь разделяешь где не надо слайс применять, главное что бы работало и можно было просто поджерживать
@itgidАй бұрын
Любое видео отражает мнение сугубо часное. Плюс разработчики не самые адекватные люди, причем ЧСВ зашкаливает. Теперь по "работало". На первых этапах становления программиста да. Главное чтобы работало. Следующий этап - уметь оценить адекватность кода и применяемых решений. Вот тут и проблема перехода. Ну и сюда вопрос поддержки - хороший код поддерживать проще чем тот, который написан "просто работает".
@chorny33Ай бұрын
@@itgid архитектура самого приложения и какими путями ты решаешь задачи имеет намного больше значения, чем то используешь ты slice или нет. Если тебе надо один раз вычислить переменную/значение и потом использовать её дальше по коду, то почему нельзя использовать slice для избежания размножения сущностей? Потому что так какой-то дед пердед в 80 году придумал? При обработке урлов часто такое может встречаться, да и не только
@chorny33Ай бұрын
@@itgid а вкусовщина это потому, что даже деда можно переучить на другой синтаксис и способы написания и вуаля, он будет через время говорить, что те кто не использует slice те не правильные. Я сам просто за практику и языки менял и стили написания, потом привыкаешь к другому и все, тебе кажется как же ты без этого жил
@NovikovEugene1318 күн бұрын
9:00 меня больше вымораживает объявление переменной через let, в случаях когда не предполагается её изменение.
@dimageorgiev5798Ай бұрын
с возвращением )
@AleksTrifonov.s21Ай бұрын
Объясни, почему такая нелюбовь к slice?
@itgidАй бұрын
Я люблю данные методы. Но я топлю за то, чтобы разработчик имел в голове несколько возможностей для решения задачи и мог выбрать лучший. Т.е. понимал границы и возможности методов решения задач, мог сравнить и выбрать оптимальный путь для решения. Только за это. Поэтому приходится "прогревать" чуточку внимание.
@bjiastxАй бұрын
Чисто об'єктивно - відео про упереджене ставлення автора і все) Відкриваємо MDN і бачимо що метод slice є у строки і виконує роботу із строкой. Метод slice у масива - повертає новий масив. Тобто по факту це абсолютно два різних метода різних класів
@windcrack8404Ай бұрын
Благодарю за видео, как всегда чему-то да научился. Хотелось бы услышать Ваше мнение о методе reduce. Когда его лучше использовать и в каких моментах он не нужен. Жму подобайку !
@itgidАй бұрын
Может пародоксально но я люблю и reduce и slice. Просто заметил - что slice становится панацеей по все проблемы. Я за то, чтобы тот, кто пишет код прочитал документацию и имел в голове несколько методов - чтобы выбирать наиболее удобный метод в конкретной ситуации. Только за это. Но для такого нужно привлечь внимание - что и делает данное видео.
@BorisSavencoАй бұрын
А, и правда забавно, никогда не задумьівался, что slice практически никогда не использую
@markusnotfound3007Ай бұрын
что за число 135449653384411000 внутри функции t19Opt внутри console.log ? Откуда это число взять? Я ведь не могу сам придумать любое число и туда вписать, это ведь не будет работать?
@zaffeАй бұрын
Timestamp в миллисекундах (Unix-time)
@markusnotfound3007Ай бұрын
@@zaffe и что его самому надо придумать или где то взять?
@jinke5935Ай бұрын
@@markusnotfound3007 , можете взять сегодняшней датой и перевести её в миллисекунды.
@itgidАй бұрын
у нас есть функция performance.now() которая получает текущее время в миллисекундах от 1 января 1970 года. Второй запуск дает тоже текущее время после отработки циклов. Если отнять одно от другого то получаем время выполнения нашего кода.
@pavel7930Ай бұрын
Кому не нравиться спред оператор, можно использовать concat с пустым массивом
@itgidАй бұрын
Можно. Но тут вопрос стиля. Чесно говоря в практике очень мало встречал в реальных кодах такое применение. Наверное огибало меня.
@alexbro9091Ай бұрын
берем поп-корну и смотрим в комментах тру кодеров 😂
@AlexStr-h9tАй бұрын
toReversed()
@SerzhNesterukАй бұрын
Да! Вместо slice (или spread) с reverse.
@nowar6874Ай бұрын
Он вышел в es2022 стандарте, а значит в пролёте
@gomuncool1004Ай бұрын
Удачи с поддержкой браузеров
@AlexStr-h9tАй бұрын
@@gomuncool1004 babel?
@AlexStr-h9tАй бұрын
@@gomuncool1004 Babel?
@B_G_VАй бұрын
Зачем во втором примере копировать элемент массива, перед тем как вызвать reverse??? Насколько я знаю метод map не изменяет оригинальный массив, зачем в колбеке использовать spread, или slice?
@SerzhNesterukАй бұрын
Хоть map и не изменяет, но сам reverse мутирует массивы оригинала, посему лучше юзать toReversed.
@B_G_VАй бұрын
@SerzhNesteruk понял, спасибо
@AlexStr-h9tАй бұрын
В массиве содержатся другие массивы (ссылочные типы)
@itgidАй бұрын
если чесно не уловил где и что. Напишите код который вызвал вопрос.
@B_G_VАй бұрын
@@itgidarr_18.map(element => [...element].reverse()) - в этом коде я думал, что можно обойтись без slice, или spread. Думал что копия создается автоматически самим методом map :)
@areyousleeping7054Ай бұрын
даже в голову не приходило, что можно таким образом slice() применять. обычно для копий использую spread (реже concat) или для глубокого копирования рекурсивную функцию пилю.
@МаксимМороз-о2чАй бұрын
Для глубокого копирования у js есть функция structuredClone
Так тут проблема не в slice а не в знании метода join.
@itgidАй бұрын
знают метод уже к этому моменту.
@NelTheWinnerАй бұрын
Эти слайсеры из питона пришли что ли?
@itgidАй бұрын
увы немогу ответить.
@sanchezz1135Ай бұрын
Если бы у меня собесе кто-то сделал spread вместо slice у массива, собес бы на этом закончился. Я бы даже не стал спрашивать как работает spread и что там под капотом. Если уж так хочется сделать reverse, то всегда есть toReversed.
@ОлександрПархоменко-г4йАй бұрын
судя по вашему ответу вы скорей-всего в этом году начали учить свой первый язык программирования.
@vladimirfrolov740Ай бұрын
Вы может прекрасный разработчик, но лучше вам не проводить собесы.
@pickun1524Ай бұрын
🤡
@sanchezz1135Ай бұрын
@@ОлександрПархоменко-г4й Я бы с удовольствием послушал профессионалов своего дела.
@sanchezz1135Ай бұрын
@@vladimirfrolov740 обожаю такие комменты. Я правда хороший разработчик и, по-моему, намного лучше Вас. Очень надеюсь, что вы прочтете стандарт и посмотрите как что работает.
@SerzhNesterukАй бұрын
Каюсь...🙏 Для задачи 7:08 мне тоже хочется slice прикрутить. 🩼🚲 Примерно как-то так: const t19 = (time) => { const date = new Date(time); const offset = date.getTimezoneOffset(); date.setMinutes(date.getMinutes() - offset); return date.toISOString().slice(0, 16).replace('T', '_'); };
@ЗапискисамоучкиАй бұрын
поменять slice() на substring() =) ps: вообще бесит как лепят даты, возможностей Date и Intl.DateTimeFormat хватает за глаза.
@SerzhNesterukАй бұрын
@@Запискисамоучки Возможностей Date, кстати, не хватает. Скоро в стандарт ECMAScript ещё и Temporal завезут. 🙂
@ihor_zybin_life1825Ай бұрын
Спасибо за качественный контент!
@mcoxotnikАй бұрын
Ахринеть, я вообще не знал о существовании "String.prototype.padStart"... Ну как я понял, я альтернативно-одарённый, я вообще не использовал slice, да же в строках, преобразовывал их в массив делал манипуляции и возвращал через join. Насчёт твоего поиска "как создать копию массива в js", мне выдавало спред и джон парс(стрингифай), вообще не знал, что slice может делать копию массива, потому что думал, что он изменяет исходный массив. UPD Ошибся, я использовал slice для массива, но в своё оправдание скажу, я его использовал для логирования и определял как (0, 10), чтобы не выводить векторный столбец (простой одномерный массив) длинной 240к элементов.
@windcrack8404Ай бұрын
Я тоже не знал. Как всегда у Александра снова чему-то научился. Я в своем опыте может раза 2 или 3 использовал slice для массива, чтобы сократить массив который поступил мне с бэка :).