Методы для работы с концом массива Метод
pop() - удаляет последний элемент массива и возвращает его значение
Код
const arr = [1, 2, 3, 6, 8];
arr.pop(); // удалили последний элемент
console.log(arr.pop()); // 6 удалили последний элемент и вывели в консоль его значение
console.log(arr); // [ 1, 2, 3 ] получили массив оставшихся элеменов
Метод
push() - добавляет элемент(ы) в конец массива и возвращает его новую длину
Код
const arr = [1, 2, 3, 6, 8];
arr.push(10); // добавили новый элемент в конец массива
console.log(arr.push(12)); // 7 добавили новый элемент в конец массива и вывели новую длину массива в консоль
console.log(arr); // получили новый массив
Цитата
[
1, 2, 3, 6,
8, 10, 12
]
Методы для работы с началом массива Метод
shift() - удаляет первый элемент из массива и возвращает его значение.
Код
const arr = [1, 2, 3, 6, 8];
arr.shift(); // удалили первый элемент массива
console.log(arr.shift()); // удалили первый элемент массива и получили его значение
console.log(arr); // получили массив оставшихся элементов
Метод
unshift() - добавляет элемент(ы) в начало массива и возвращает новую длину массива.
Код
const arr = [1, 2, 3, 6, 8];
arr.unshift(0); // добавили элемент в начало массива
console.log(arr.unshift('true')); // 7 добавили элемент в начало массива и получили его длину
console.log(arr); // получили новый список элементов в массиве
Цитата
[
'true', 0,
1, 2,
3, 6,
8
]
Перебор элементов массива Код
const arr = [1, 2, 3, 6, 8];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
Вариант перебора с помощью
for/of Код
for (let value of arr) {
console.log(value);
}
Значение length = индекс последнего элемента массива плюс единица
Частный случай (
разреженный массив):
Запишем какой-то элемент на 99-й индекс:
Код
const arr = [1, 2, 3, 6, 8];
arr[99] = 12;
console.log(arr);
console.log(arr.length)
Цитата
[ 1, 2, 3, 6, 8, <94 empty items>, 12 ]
100
Метод
forEach() выполняет указанную функцию один раз для каждого элемента в массиве.
Код
const arr = [1, 2, 3, 6, 8];
arr.forEach(function(item, i, arr) {
console.log(`Элемент ${item} под номером ${i} принадлежит массиву ${arr}`);
});
Цитата
Элемент 1 под номером 0 принадлежит массиву 1,2,3,6,8
Элемент 2 под номером 1 принадлежит массиву 1,2,3,6,8
Элемент 3 под номером 2 принадлежит массиву 1,2,3,6,8
Элемент 6 под номером 3 принадлежит массиву 1,2,3,6,8
Элемент 8 под номером 4 принадлежит массиву 1,2,3,6,8
item - текущий перебираемый элемент (название произвольное)
i - номер по порядку (индекс элемента)
arr - ссылка на перебираемый массив
Использовать for/of или forEach() ? В основном используется
forEach(), но у метода
for/of есть возможность использования ключевых слов
break и
continue Методы split(), join(), sort()
Метод
split() разбивает объект
String на массив строк путём разделения строки указанной подстрокой.
Код
const str = 'автомобиль,велосипед,самолёт,мотоцикл,катер';
const products = str.split(',');
console.log(products);
Цитата
[ 'автомобиль', 'велосипед', 'самолёт', 'мотоцикл', 'катер' ]
Метод
join() объединяет все элементы массива (или массивоподобного объекта) в строку.
Код
const str = 'автомобиль,велосипед,самолёт,мотоцикл,катер';
const products = str.split(','); // [ 'автомобиль', 'велосипед', 'самолёт', 'мотоцикл', 'катер' ]
console.log(products.join('; ')); // автомобиль; велосипед; самолёт; мотоцикл; катер
В параметрах у этих методов указывается тот разделитель, который будет между выведенными элементами (например, запятая, двоеточие и т.д)
Метод
sort() на месте сортирует элементы массива и возвращает отсортированный массив.
Код
const str = 'автомобиль,велосипед,самолёт,мотоцикл,катер';
const products = str.split(',');
console.log(products.sort());
Цитата
[ 'автомобиль', 'велосипед', 'катер', 'мотоцикл', 'самолёт' ] // отсортировались по алфавиту
Применимо к массиву с цифрами:
Код
const arr = [2, 13, 6, 8, 10];
console.log(arr.sort()); // [ 10, 13, 2, 6, 8 ]
Так происходит потому, что метод изначально сортирует всё как строки с посимвольным сравнением.
Этого можно избежать, если задействовать функцию с алгоритмом сортировки:
Код
const arr = [2, 13, 6, 8, 10];
function compareNum(a, b) {
return a - b;
}
console.log(arr.sort(compareNum)); // [ 2, 6, 8, 10, 13 ]
Псевдомассив - это объект, структура которого схожа с массивом, но не имеющий методов массива
Всего комментариев: 0