Я подумал, что объединю общие методы массива JavaScript с небольшим описанием и примерами в качестве краткого руководства и удобного справочника.

Прежде чем мы перейдем к методам массива, давайте объявим массив.

const items = [
  {
    id: 1,
    name: 'Cereal',
    price: 4
  },
  {
    id: 2,
    name: 'Action Figure',
    price: 7
  },
  {
    id: 3,
    name: 'Video Game',
    price: 50
  },
  {
    id: 4,
    name: 'DVD',
    price: 20
  },
  {
    id: 5,
    name: 'Tablet',
    price: 500
  },
  {
    id: 6,
    name: 'Laptop',
    price: 1000
  },
  {
    id: 7,
    name: 'Vacuum Cleaner',
    price: 200
  },
  {
    id: 8,
    name: 'Microwave',
    price: 200
  },
  {
    id: 9,
    name: 'Sunglasses',
    price: 25
  },
  {
    id: 10,
    name: 'TV',
    price: 750
  },
];

Отлично, перейдем к методам.

метод карты

Возвращает массив значений, которые были возвращены предоставленной функцией. Метод map выполняет функцию один раз для каждого элемента в массиве. Он не изменяет исходный массив

const itemNames = items.map(item => item.name);
console.log(itemNames);
/*
[
  'Cereal',
  'Action Figure',
  'Video Game',
  'DVD',
  'Tablet',
  'Laptop',
  'Vacuum Cleaner',
  'Microwave',
  'Sunglasses',
  'TV'
]
*/

метод фильтрации

Возвращает массив значений, которые передают условный оператор из предоставленной функции. Метод filter выполняет функцию один раз для каждого элемента в массиве. Он не изменяет исходный массив.

const affordableItems = items.filter(item => item.price < 100);
console.log(affordableItems);
/*
[
  { id: 1, name: 'Cereal', price: 4 },
  { id: 2, name: 'Action Figure', price: 7 },
  { id: 3, name: 'Video Game', price: 50 },
  { id: 4, name: 'DVD', price: 20 },
  { id: 9, name: 'Sunglasses', price: 25 }
]
*/

найти метод

Возвращает значение первого элемента в массиве, который передает условный оператор из предоставленной функции. Как только функция вернет истину, метод find вернет true и не проверяет остальные элементы. Он не изменяет массив.

const foundItem = items.find(item => item.id === 3);
console.log(foundItem);
// { id: 3, name: 'Video Game', price: 50 }

какой-то метод

Возвращает логическое значение, проверяя, передает ли какой-либо из элементов в массиве условный оператор из предоставленной функции. Когда функция возвращает true, метод some возвращает true и не проверяет остальные элементы. Он не изменяет массив.

const hasExpensiveItems = items.some(item => item.price >= 500);
console.log(hasExpensiveItems);
// true

каждый метод

Возвращает логическое значение, проверяя, все ли элементы в массиве передают условный оператор из предоставленной функции. Когда функция возвращает false, метод every возвращает false и не проверяет остальные элементы. Он не изменяет массив.

const allItemsExpensive = items.every(item => item.price >= 500);
console.log(allItemsExpensive);
// false

forEach метод

Выполняет функцию для каждого элемента в массиве. Он не изменяет массив.

items.forEach(item => console.log(item.name));
/*
Cereal
Action Figure
Video Game
DVD
Tablet
Laptop
Vacuum Cleaner
Microwave
Sunglasses
TV
*/

метод уменьшения

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

const total = items.reduce((accumulatedTotal, item) => item.price + accumulatedTotal, 0);
console.log(total);
// 2756

В этом примере функция reduce выполняет итерацию по массиву items, выполняя предоставленную функцию для каждого элемента. Начальное значение accumulatedTotal равно 0 из-за второго аргумента, переданного в reduce method. На каждой итерации цена текущего товара добавляется к accumulatedTotal и возвращается accumulatedTotal. По завершении цикла функция reduce возвращает accumulatedTotal.

включает метод

Возвращает логическое значение, проверяя, содержит ли массив свой аргумент. Он не изменяет массив.

const pets = ['dog', 'cat', 'rabbit', 'hamster', 'parrot', 'fish'];
const isFishIncluded = pets.includes('fish');
console.log(isFishIncluded);
// true

метод сортировки

Сортирует элементы массива. По умолчанию метод sort сортирует значения как строки в алфавитном порядке и по возрастанию. Он изменяет исходный массив.

Я добавлю «собачку» к нашему предыдущему массиву pets, чтобы показать, как sort сортирует строки по возрастанию для сортировки 'dog' и 'doggy'.

const pets2 = ['doggy', 'dog', 'cat', 'rabbit', 'hamster', 'parrot', 'fish'];
pets2.sort();
console.log(pets2);
// ['cat', 'dog', 'doggy', 'fish', 'hamster', 'parrot', 'rabbit']

Обратите внимание, что 'dog' сортируется до 'doggy'. Обе строки начинаются с одних и тех же трех букв, но поскольку 'dog' короче по длине, она сортируется первой в порядке возрастания.

Это хорошо работает для строк, однако поведение метода sort по умолчанию сортирует числа как строки и не сортирует их численно. Например, «20» больше, чем «100», потому что метод sort сравнивает цифру «2» с цифрой «1». Чтобы исправить это поведение, метод sort принимает функцию для сравнения элементов.

const numbers = [20, 100, 55, 8, 13];
// sort in ascending order
numbers.sort((a, b) => a - b);
console.log(numbers);
// [ 8, 13, 20, 55, 100 ]
// sort in descending order
numbers.sort((a, b) => b - a);
console.log(numbers);
// [ 100, 55, 20, 13, 8 ]

метод соединения

Возвращает массив в виде строки. Он принимает необязательный параметр, который используется в качестве разделителя. Если ничего не указано, используется разделитель по умолчанию - , - без пробела следует запятая. Если разделитель не нужен, вы можете передать пустую строку. Он не изменяет массив.

const drinks = ['Juice', 'Milk', 'Water', 'Coffee', 'Tea'];
console.log(drinks.join());
// Juice,Milk,Water,Coffee,Tea
console.log(drinks.join(' and '));
// Juice and Milk and Water and Coffee and Tea
console.log(drinks.join(''));
// JuiceMilkWaterCoffeeTea

обратный метод

Меняет порядок элементов в массиве на обратный. Он изменяет исходный массив.

const drinks = ['Juice', 'Milk', 'Water', 'Coffee', 'Tea'];
console.log(drinks.reverse());
// [ 'Tea', 'Coffee', 'Water', 'Milk', 'Juice' ]

Вот и все! Надеюсь, вы узнали что-то новое или получили более глубокое понимание того, что уже знали. Не стесняйтесь ссылаться на это при необходимости. Спасибо за прочтение! Будьте хорошими людьми.