Вот несколько примеров распространенных методов массива JavaScript:
push
добавляет один или несколько элементов в конец массива и возвращает новую длину массива.
const fruits = ['apple', 'banana']; const newLength = fruits.push('orange', 'mango'); console.log(newLength); // 4 console.log(fruits); // ['apple', 'banana', 'orange', 'mango']
pop
удаляет последний элемент из массива и возвращает его.
const fruits = ['apple', 'banana', 'orange', 'mango']; const lastFruit = fruits.pop(); console.log(lastFruit); // 'mango' console.log(fruits); // ['apple', 'banana', 'orange']
shift
удаляет первый элемент из массива и возвращает его.
const fruits = ['apple', 'banana', 'orange', 'mango']; const firstFruit = fruits.shift(); console.log(firstFruit); // 'apple' console.log(fruits); // ['banana', 'orange', 'mango']
unshift
добавляет один или несколько элементов в начало массива и возвращает новую длину массива.
const fruits = ['banana', 'orange', 'mango']; const newLength = fruits.unshift('apple'); console.log(newLength); // 4 console.log(fruits); // ['apple', 'banana', 'orange', 'mango']
slice
возвращает поверхностную копию части массива в новый объект массива.
const fruits = ['apple', 'banana', 'orange', 'mango']; const citrus = fruits.slice(1, 3); console.log(citrus); // ['banana', 'orange']
splice
добавляет и/или удаляет элементы из массива.
const fruits = ['apple', 'banana', 'orange', 'mango']; const removed = fruits.splice(1, 2, 'lemon', 'lime'); console.log(removed); // ['banana', 'orange'] console.log(fruits); // ['apple', 'lemon', 'lime', 'mango']
sort
сортирует элементы массива на месте и возвращает массив
const fruits = ['apple', 'banana', 'Orange', 'mango']; fruits.sort(); console.log(fruits); // ['Orange', 'apple', 'banana', 'mango']
reverse
меняет порядок элементов в массиве на противоположный и возвращает массив.
const fruits = ['apple', 'banana', 'orange', 'mango']; fruits.reverse(); console.log(fruits); // ['mango', 'orange', 'banana', 'apple']
concat
возвращает новый массив, являющийся результатом объединения двух или более массивов.
const fruits = ['apple', 'banana']; const vegetables = ['carrot', 'potato']; const produce = fruits.concat(vegetables
indexOf
возвращает первый индекс, по которому данный элемент может быть найден в массиве, или -1, если он отсутствует.
const fruits = ['apple', 'banana', 'orange', 'mango']; console.log(fruits.indexOf('banana')); // 1 console.log(fruits.indexOf('kiwi')); // -1
lastIndexOf
возвращает последний индекс, по которому данный элемент можно найти в массиве, или -1, если он отсутствует.
const fruits = ['apple', 'banana', 'orange', 'mango', 'banana']; console.log(fruits.lastIndexOf('banana')); // 4 console.log(fruits.lastIndexOf('kiwi')); // -1
includes
определяет, содержит ли массив определенное значение среди своих элементов, возвращая значение true или false в зависимости от ситуации.
const fruits = ['apple', 'banana', 'orange', 'mango']; console.log(fruits.includes('banana')); // true console.log(fruits.includes('kiwi')); // false
join
создает и возвращает новую строку путем объединения всех элементов массива, разделенных запятыми или указанной строкой разделителя.
const fruits = ['apple', 'banana', 'orange', 'mango']; console.log(fruits.join()); // 'apple,banana,orange,mango' console.log(fruits.join('-')); // 'apple-banana-orange-mango'
forEach
выполняет указанную функцию один раз для каждого элемента массива.
const fruits = ['apple', 'banana', 'orange', 'mango']; fruits.forEach(fruit => console.log(fruit)); // Output: 'apple' 'banana' 'orange' 'mango'
map
создает новый массив с результатами вызова предоставленной функции для каждого элемента в вызывающем массиве.
const fruits = ['apple', 'banana', 'orange', 'mango']; const uppercaseFruits = fruits.map(fruit => fruit.toUpperCase()); console.log(uppercaseFruits); // ['APPLE', 'BANANA', 'ORANGE', 'MANGO']
filter
создает новый массив со всеми элементами, прошедшими проверку, реализованную предоставленной функцией.
const fruits = ['apple', 'banana', 'orange', 'mango']; const citrus = fruits.filter(fruit => fruit.includes('a')); console.log(citrus); // ['banana', 'orange']
reduce
применяет функцию к аккумулятору и каждому элементу массива (слева направо), чтобы сократить его до одного значения.
const numbers = [1, 2, 3, 4, 5]; const sum = numbers.reduce((acc, cur) => acc + cur, 0); console.log(sum); // 15
find
возвращает значение первого элемента массива, удовлетворяющего заданной функции проверки. В противном случае возвращается неопределенное значение.
const fruits = ['apple', 'banana', 'orange', 'mango']; const orange = fruits.find(fruit => fruit === 'orange'); console.log(orange); // 'orange'
findIndex
возвращает индекс первого элемента в массиве, который удовлетворяет предоставленной функции проверки. В противном случае возвращается -1.
const fruits = ['apple', 'banana', 'orange', 'mango']; const orangeIndex = fruits.findIndex(fruit => fruit === 'orange'); console.log(orangeIndex); // 2
every
проверяет, проходят ли все элементы массива проверку, реализованную предоставленной функцией. Он возвращает логическое значение.
const fruits = ['apple', 'banana', 'orange', 'mango']; const allFruitsHaveAE = fruits.every(fruit => fruit.includes('a')); console.log(allFruitsHaveAE); // true
some
проверяет, проходит ли хотя бы один элемент в массиве проверку, реализованную предоставленной функцией. Он возвращает логическое значение.
const fruits = ['apple', 'banana', 'orange', 'mango']; const someFruitsHaveAE = fruits.some(fruit => fruit.includes('a')); console.log(someFruitsHaveAE); // true
flat
создает новый массив со всеми элементами подмассива, объединенными в него рекурсивно до указанной глубины.
const nestedArray = [[1, 2], [3, 4], [5, 6]]; console.log(nestedArray.flat()); // [1, 2, 3, 4, 5, 6]
flatMap
сначала сопоставляет каждый элемент с помощью функции сопоставления, а затем объединяет результат в новый массив. Это эквивалентно использованиюmap
, за которым следуетflat
с глубиной 1.
const nestedArray = [[1, 2], [3, 4], [5, 6]]; const flatMappedArray = nestedArray.flatMap(x => x.map(y => y * 2)); console.log(flatMappedArray); // [2, 4, 6, 8, 10, 12]
МОИ КОНТАКТЫ
Твиттер — @sonjoybarman19
Инстаграм — @sonjoybarmon19
LinkedIn — /in/sonjoybarmon
Fiverr — https://www.fiverr.com/sonjoybarman
Upwork — https://www.upwork.com/o/profiles/users/_~0120764354dd58b313/