- Массивы — это особый тип объектов с цифровой индексацией элементов

- Если при обращении к элементу массива использовать вместо индекса имя( как в ассоциативном массиве), то JavaScript переопределит такой массив в стандартный объект. После этого свойства и методы массива будут возвращать неверный результат.

Методы объекта Array

var cars = ["Saab", "Volvo", "BMW"]
1 cars instanceof Array - вернет true, если cars - это массив
2 cars.length - количество элементов массива; на 1 больше, чем индекс последнего элемента массива
3 last = cars[cars.length - 1] - обращение к последнему элементу массива
4 cars.forEach(myFunction1); - обход всех элементов массива - обход всех элеметов массива
5 cars.push("Ferari") - добавляет элемент в конец массива; если присвоить метод переменной, то ей присвоится новая длина массива
cars[5] = "Toyota"; - добавляет элемент в массив после указанного значения; на месте 5-го элемента образовалась дыра
6 cars.pop() - удаляет последний элемент массива;
- если присвоить метод переменной, то ей присвоится удалённый элемент
7 cars.shift(); - удаляет первый элемент массива и сдвигает оставшиеся элементы к меньшим индексам;
- если присвоить метод переменной, то ей присвоится удалённый элемент
8 cars.unshift("Audi") - добавляет новый элемент в начало массива и передвигает другие элементы; возвращает новую длину массива
9 delete cars[0] - удаляет указанный элемент массива, образуя на его месте дыру
10 cars.splice(0,1) - удаляет дыры
cars.splice(1,2,"Audi","Toyota") - определяет, куда, сколько и какие элементы нужно добавить в массив
cars.slice(1,3) - извлекает часть массива начиная с индекса 1 и заканчивая 3
11 car1.concat(car2, car3, ["Toyota"]) - слияние массивов
12 cars.toString() - преобразует массив в строку; на самом деле при выводе массива он и так автоматически преобразуется в строку
ECMAScript 5 (2009)
1 Array.isArray(cars) - проверяет, является ли объект массивом

Сортировка массива

var cars = ["Saab", "Volvo", "BMW"]
1 cars.sort() - сортирует массив в алфавитном порядке
2 cars.reverse() - сортирует массив в обратном алфавитном порядке
var numbers = [40, 100, 1, 5, 25, 10]
1 numbers.sort(function(a, b) { return a - b }) - числовая сортировка по возрастанию
numbers.sort(function(a, b) { return b - a }) - числовая сортировка по убыванию
numbers.sort(function(a, b){return 0.5 - Math.random()}) - числовая сортировка в случайном порядке
2 Math.max.apply(null, numbers) -наибольшее значение массива
Math.min.apply(null, numbers) - наименьшее значение массива
var cars = [{type:"Volvo", year:2016},{type:"Saab", year:2001},{type:"BMW", year:2010}];
1 cars.sort(function(a, b){return a.year - b.year}) - сортировка массивов объектов по значению
- сортировка массивов объектов по свойству строкового типа
ECMAScript 5 (2009)
1 numbers.forEach(myFunction1) - единожды вызывает функцию обратного вызова для каждого элемента массива;
- myFunction1 - записывает значения элементов массива в строку, разделяя ";"
2 numbers.map(myFunction2) - выполняет функцию обратного вызова для каждого элемента массива;
- myFunction2 - умножает все элементы массива на 2
3 numbers.filter(myFunction3) - создает новый массив с элементами исходного массива, прошедшими заданную проверку;
- myFunction3 - выбирает элементы массива, которые больше 18
4 numbers.reduce(myFunction4) - выполняет функцию обратного вызова с каждым элементом массива слева направо для вычисления единого значения;
- myFunction4 - суммирует все элементы массива
numbers.reduceRight(myFunction4) - обрабатывает элементы массива справа налево
numbers.reduce(myFunction4, 100) - обрабатывает элементы массива с начальным значением 100
5 numbers.every(myFunction3) - проверяет, выполняют ли заданное условие все элементы массива
6 numbers.some(myFunction3) - проверяет, выполняет ли заданное условие хотя бы один элемент массива
7 numbers.indexOf(100) - ищет в массиве элемент с заданным значением и возвращает его индекс
numbers.indexOf(100, 2) - ищет в массиве элемент с заданным значением, начиная с 3-го элемента; если элемент не найден - возвращает "-1"
numbers.lastIndexOf(100) - ищет в массиве элемент с заданным значением, начиная с конца массива, и возвращает его индекс
ECMAScript 6 (2025)
1 numbers.find(myFunction3) - возвращает значение первого элемента массива, прошедшего заданную проверку в функции обратного вызова
numbers.findIndex(myFunction3) - возвращает индекс первого элемента массива, прошедшего заданную проверку в функции обратного вызова