JavaScript заметки
8.56K subscribers
2.75K photos
4 videos
1.27K links
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке.

Можно почитать пока компилируется проект :)

Сотрудничество: @noname_media

Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
Download Telegram
Рекурсивные функции

Внутри функции можно вызывать её саму — это пример рекурсивной функции.

Если разложить пример, то получится следующая цепочка:

- fac(3) это 3 * fac(2);
- fac(2) это 2 * fac(1);
- fac(1) это 1.

Получается, что fac(3) это 3 * 2 * 1, то есть 6. Такой подход часто применяется в математических операциях, но не ограничивается ими.

#функции #рекурсия

Подробнее
👍5
Стрелочные функции

Стрелочная функция записывается намного короче, чем обычная. В самой простой записи ключевое слово function и фигурные скобки не требуются.

В многострочных стрелочных функциях кода больше, поэтому они имеют фигурные скобки, но в остальном не отличаются.

#функции #const

Подробнее
👍2
return

Функция возвращает результат, который будет передан в вызвавший её код. Для этого и используется ключевое слово return.

#функции #return

Подробнее
👍5
Рекурсия

Рекурсия — это что-то, что описывает само себя.

Представить рекурсию проще всего на примере зеркального коридора — когда напротив друг друга стоят два зеркала. Если посмотреть в одно, то в нём будет отражение второго, во втором — отражение первого и так далее.

#рекурсия

Подробнее
👍5
Массив

Массив — это структура, в которой можно хранить коллекции элементов — чисел, строк, других массивов и так далее. Элементы нумеруются и хранятся в том порядке, в котором их поместили в массив. Элементов может быть сколько угодно, они могут быть какими угодно.

Массивы очень похожи на нумерованные списки.

#массив #const

Подробнее
👍3
.forEach()

Метод массива forEach() позволяет применить колбэк-функцию ко всем элементам массива. Можно использовать вместо классического цикла for. В отличие от него forEach() выглядит более читабельным и понятным.

#массив #forEach

Подробнее
👍4
.map()

Метод map() позволяет трансформировать один массив в другой при помощи функций-колбэка. Переданная функция будет вызвана для каждого элемента массива по порядку. Из результатов вызова функции будет собран новый массив.

#const #map #массив

Подробнее
👍9
.reduce()

Метод массива reduce() позволяет превратить массив в любое другое значение с помощью переданной функции-колбэка и начального значения. Функция-колбэк будет вызвана для каждого элемента массива, и всегда должна возвращать результат.

#массив #reduce

Подробнее
👍5
.filter()

Метод массива .filter() позволяет получить новый массив, отфильтровав элементы с помощью переданной колбэк-функции. Колбэк-функция будет вызвана для каждого элемента массива и по результату функции примет решение, включать этот элемент в новый массив или нет.

#массив #filter

Подробнее
👍1
.find()

Метод массива find() вернёт первый найденный в массиве элемент, который подходит под условие в переданной колбэк-функции. Если в массиве не найдётся ни одного подходящего элемента, то вернётся значение undefined.

#массив #find

Подробнее
👍7
.findIndex()

Метод findIndex() возвращает индекс первого найденного в массиве элемента, который подходит под условие переданной функции. Если же ни одного подходящего элемента не найдётся, то метод вернёт -1.

Если вам нужно получить элемент, а не его индекс, то используйте метод find(). А если необходимо проверить наличие чего-либо в массиве, то сначала обратите внимание на метод includes().

#массив #findIndex

Подробнее
👍62🔥1
.findIndex()

Метод findIndex() возвращает индекс первого найденного в массиве элемента, который подходит под условие переданной функции. Если же ни одного подходящего элемента не найдётся, то метод вернёт -1.

Если вам нужно получить элемент, а не его индекс, то используйте метод find(). А если необходимо проверить наличие чего-либо в массиве, то сначала обратите внимание на метод includes().

#массив #findIndex

Подробнее
🔥3👍21
.flat()

Метод flat() возвращает новый массив и уменьшает вложенность массива на заданное количество уровней.

Метод принимает необязательный аргумент depthколичество уровней, на которые нужно уменьшить вложенность. Значение по умолчанию — 1.

Результатом вызова метода flat() будет новый массив меньшей вложенности.

Подробнее
👍4🔥1
.flatMap()

Метод flatMap() позволяет сформировать массив, применяя функцию к каждому элементу, затем уменьшает вложенность, делая этот массив плоским, и возвращает его.

Был добавлен в стандарте ES2019. Если вы поддерживаете браузеры, выпущенные раньше 2018 года, то вам понадобится полифил.

#flatMap #массивы

Подробнее
👍8
.every()

Метод массива .every() позволяет узнать, удовлетворяют ли все элементы в массиве условию в функции-колбэке. Результатом вызова метода .every() будет boolean-значение true или false. Если хотя бы один элемент не будет удовлетворять условию, то результат будет false.

#массив #every

Подробнее
👍7
.some()

Метод массива some() позволяет узнать, есть ли в массиве хотя бы один элемент, удовлетворяющий условию в функции-колбэке. Колбэк-функция будет вызываться для каждого элемента массива до тех пор, пока не вернётся true, либо пока не закончатся элементы массива.

Результатом вызова метода some() будет boolean-значение true или false. Если ни один элемент в массиве не удовлетворит условию, то результат будет false.

#массив #some

Подробнее
👍8🔥21
.reverse()

Метод reverse() обращает порядок элементов в массиве в обратном направлении, то есть делает первый элемент последним, а последнийпервым.

Метод изменяет массив, по отношению к которому вызван, и возвращает ссылку на изменённый массив.

#reverse #массив

Подробнее
👍61🔥1
.includes()

Этот метод определён у массивов и строк.

Для массивов: проверяет, есть ли искомый элемент в массиве.

Для строк: проверяет, есть ли искомая подстрока в строке.

Возвращает true, если искомый элемент нашёлся и false — если нет.

#массивы #includes

Подробнее
👍82🔥1
.indexOf()

Этот метод служит для поиска. Он определён для массивов и строк.

При вызове нужно передать, что искать. Вернётся индекс первого найденного элемента или -1, если ничего не нашлось.

#массивы #indexOf

Подробнее
👍42🔥1
.length

Свойство length возвращает количество элементов в массиве. Если элементов нет, то свойство возвращает 0.

#массивы #length

Подробнее
🔥4👍32