Базовый курс JavaScript
-
1) console.log(), Переменные
-
2) Типы данных, Операторы
-
3) Условные конструкции
-
4) Объекты, массивы
-
5) Циклы
-
6) Функции. Диалоговые окна
-
7) Результат функции. Стрелочная фукция
-
8) callback, find, filter
-
9) Введение в методы и свойства
-
10) Методы строк и чисел
-
11) Методы массивов
-
12) Работа с DOM
-
13) Элементы,HTMLCollection и NodeList
-
14) Создание, добавление, замена и удаление элементов. Управление атрибутами элементов. Свойство className
-
15) addEventListener()
-
16) window, event
-
17) Работа с формами
-
18) Таймеры. this
-
JSON
-
19) Обработка ошибок
-
20) JSON, Promise, async и await
-
21) callBack()
-
22) fetch
-
7) Взаимодействие с DOM (Document Object Model)
-
23) LocalStorage, sessionStorage
11) Методы массивов
Добавление и удаление элементов
Чтобы добавить или удалить элементы из массива, используется 4 основных метода. Это: push, pop, shift и unshift.
- push () – добавление одного или нескольких элементов в конец набора значений.
- pop () – удаление последнего элемента.
- shift () – удаление первого элемента.
- unshift () – добавление одного или несколько элементов в начало.
Методы pop и shift возвращают значение удаленного элемента, а push и unshift – длину измененного массива.
Кроме перечисленных методов, стоит отметить универсальный метод splice. Благодаря ему можно вставить, удалить или заменить элементы.
Синтаксис метода splice ():
array.splice( startIndex, deleteCount [, element1[, element2[, ...]]] );
Параметры:
- startIndex – это индекс начала изменения набора значений. В случае, когда этот параметр будет превышать длину массива, значение стартового индекса будет равно длине. Либо примет разницу array.lenght и этого числа, если ввести отрицательное число.
- deleteCount – это число удаляемых элементов начиная с startIndex. Оно может быть равно 0. В этом случае с элементами ничего не произойдет.
- element1, element2, …. – элементы, которые будут добавлены в массив. Необязательный параметр.
Метод splice возвращает набор удаленных значений.
Перебор элементов
За перебор элементов массива отвечает метод forEach.
Синтаксис метода forEach ():
arr.forEach( function callback( currentValue, index, array ), thisValue );
Параметры:
- callback – это основной параметр, а именно функция обратного вызова, которая будет единоразово осуществлена для каждого элемента. Ее аргументы: currentValue, index, array.
- currentValue — обрабатываемый элемент в наборе.
- index — индекс этого элемента.
- array – массив выбранного элемента.
- thisValue – это необязательный параметр. Он принимает значение, которое будет использовано в качестве this при вызове функции.
Возвращаемое значение — всегда undefined.
Поиск элемента в массиве
существить поиск элементов помогут такие методы, как indexOf/lastIndexOf, includes, find/findIndex и filter.
Методы indexOf и lastIndexOf ищут нужное значение среди всех и возвращают его индекс при первом совпадении. Первый выполняет поиск с начала массива, а второй – с конца. Оба метода вернут –1, когда искомое значение не будет найдено.
Синтаксис методов indexOf () и lastIndexOf ():
array.indexOf( searchElement, fromIndex )
array.lastIndexOf( searchElement, fromIndex )
Синтаксис метода filter ():
var filteredArray = arr.filter( function( currentValue, index, array ), thisValue );
Методы преобразования массива
Последняя группа методов массивов в JavaScript, которая будет рассмотрена в данной статье – это методы преобразования массива. К ним можно отнести: map, flat, flatmap, sort и reverse. Рассмотрим каждый из них более подробно ниже.
Map() организовывает новый набор значений с результатом вызова указанной callback–функции для каждого элемента.
Синтаксис метода map ():
var newArray = array.map( function( currentValue, index, arr ), thisValue );
.concat ( )
concat принимает в качестве аргументов элементы, объединяемые в новый массив.
concat возвращает новый массив, полученный при объединении.
Если метод без аргументов был вызван для массива, возвращается поверхностная копия (shallow copy) исходного массива:
const numbers = [1, 2, 3, 4]
const copyNumbers = numbers.concat()
console.log(copyNumbers)
// [1, 2, 3, 4]
console.log(numbers)
// [1, 2, 3, 4]
Домашняя работа:
1. Метод forEach
- Задание: Напишите функцию, которая принимает массив строк и выводит каждую строку с заглавной буквы. Используйте
forEachдля перебора элементов массива.
2. Метод map
- Задание: Создайте функцию, которая принимает массив чисел и возвращает новый массив, где каждое число возведено в квадрат. Используйте
map.
3. Метод filter
- Задание: Напишите функцию, которая принимает массив чисел и возвращает массив только с четными числами. Используйте
filter.
4. Метод reduce
- Задание: Напишите функцию, которая принимает массив чисел и возвращает их сумму. Используйте
reduce.
5. Метод find
- Задание: Создайте функцию, которая принимает массив объектов с полями
nameиage. Найдите первый объект, гдеageбольше 18. Используйтеfind.
6. Метод some
- Задание: Напишите функцию, которая проверяет, есть ли в массиве хотя бы одно отрицательное число. Используйте
some.
7. Метод every
- Задание: Создайте функцию, которая проверяет, что все элементы массива строк начинаются с заглавной буквы. Используйте
every.
8. Метод sort
- Задание: Напишите функцию, которая принимает массив чисел и сортирует их в порядке убывания. Используйте
sort.