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

Эти методы упрощают работу с массивами, улучшают читаемость кода и уменьшают потребность в ручных циклах и условных проверках. Это важные инструменты для эффективной работы с массивами в JavaScript.

Итак, в этом блоге мы собираемся изучить некоторые вспомогательные методы массива, которые необходимы в нашем повседневном кодировании на JavaScript.

для каждого

Помощник массива forEach в JavaScript перебирает элементы массива и выполняет заданную функцию для каждого элемента. Это упрощает операции с массивами без использования явных циклов for.

Синтаксис для forEach следующий:

array.forEach(callback(element, index, array) {
  // Your code to be executed for each element
});

// or you can use arrow function

array.forEach((element, index, array) => {});
  • array: Массив, который вы хотите перебрать.
  • element: текущий обрабатываемый элемент массива.
  • index (необязательно): индекс текущего обрабатываемого элемента.
  • array (необязательно): массив forEach был вызван.

Метод forEach в JavaScript перебирает каждый элемент массива и вызывает заданную функцию обратного вызова для каждой итерации. Функция обратного вызова может выполнять различные операции, такие как регистрация, изменение или вычисление на основе значения элемента.

Пример

// Write a code to push positive element to new array

const array = [1,-2,-10,9,5,-7,88]
const positive = [];
array.forEach((element) => { // this will iterate through all the element in array
    if(element>=0){
        positive.push(element)
    }
});
console.log(positive);

карта

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

Синтаксис для map следующий:

const newArray = array.map(callback(element, index, array) {
  // Your code to transform each element
  return transformedElement;
});

// or you can use arrow function

const newArray = array.map((element, index, array) => {
 // Your code to transform each element
  return transformedElement;
});
  • array: Массив, который вы хотите перебрать и преобразовать.
  • callback: функция, которая будет вызываться для каждого элемента массива.
  • element: текущий обрабатываемый элемент массива.
  • index (необязательно): индекс текущего обрабатываемого элемента.
  • array (необязательно): массив map был вызван.

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

Пример

// Write a code to output square of an array element.

const array = [1, -2, -10, 9, 5, -7, 88];
const square = array.map((element) => {
  return element * element;
});

console.log(square);

фильтр

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

Синтаксис для filter следующий:

const newArray = array.filter(callback(element, index, array) {
  // Your code to define the filtering condition
  return condition;
});

// or you can use arrow function
const newArray = array.filter((element, index, array) => {
 // Your code to define the filtering condition
  return condition;
});
  • array: Массив, который вы хотите отфильтровать.
  • callback: функция, которая будет вызываться для каждого элемента массива.
  • element: текущий обрабатываемый элемент массива.
  • index (необязательно): индекс текущего обрабатываемого элемента.
  • array (необязательно): массив filter был вызван.

Метод filter оценивает предоставленную функцию обратного вызова для каждого элемента массива. Если условие, указанное в функции обратного вызова, возвращает true, элемент включается в новый отфильтрованный массив. Если условие возвращает false, элемент исключается из нового массива.

Пример

// Write a code to return even number from an array to new array

const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter((num) => {
 if(num % 2 === 0){
  return true
 }
});

console.log(evenNumbers);

уменьшать

В JavaScript вспомогательный метод массива reduce используется для перебора массива и накопления одного значения с помощью предоставленной функции редьюсера. Он позволяет сжать массив в одно значение, такое как число, строка, объект или любой другой тип данных. Функция редуктора принимает четыре аргумента: аккумулятор, текущий элемент, текущий индекс и исходный массив. С помощью reduce вы можете эффективно выполнять сложные вычисления и преобразования массивов.

До сих пор все, что мы рассмотрели, можно было выполнить с помощью вспомогательного метода массива reduce. Это надежный вспомогательный метод массива.

Синтаксис для reduce следующий:

const result = array.reduce(callback(accumulator, element, index, array) {
  // Your code to update the accumulator based on the current element
  return updatedAccumulator;
}, initialValue);

// or you can use arrow function

const result = array.reduce((accumulator, element, index, array) => {
  // Your code to update the accumulator based on the current element
  return updatedAccumulator;
}, initialValue);
  • array: Массив, который вы хотите уменьшить.
  • callback: Функция, которая будет вызываться для каждого элемента массива.
  • accumulator: Аккумулятор сохраняет промежуточный результат в процессе редукции. Он начинается с начального значения (если указано) или первого элемента массива.
  • element: текущий обрабатываемый элемент массива.
  • index (необязательно): индекс текущего обрабатываемого элемента.
  • array (необязательно): массив reduce был вызван.
  • initialValue (необязательно): начальное значение аккумулятора. Если не указано, то в качестве начального значения будет использоваться первый элемент массива, а приведение начинается со второго элемента.

Функция редуктора вызывается для каждого элемента в массиве и соответствующим образом обновляет аккумулятор. Итоговое значение аккумулятора после обработки всех элементов является результатом редукции.

Пример

Здесь мы собираемся решить весь приведенный выше пример с помощью вспомогательного метода массива reduce.

// Write a code to push positive element to new array

const array = [1,-2,-10,9,5,-7,88]
const positive = array.reduce((accumulator, num) => {
    if(num >=0){
        accumulator.push(num)
    }
    return accumulator
},[])

console.log(positive);
// Write a code to output square of an array element.

const num = [1, 2, 3, 4, 5];
const square = num.reduce((accumulator, num) => {
    accumulator.push(num**2)
    return accumulator
},[])

console.log(square);
// Write a code to return even number from an array to new array

const numbers = [1, 2, 3, 4, 5];
const evenNumber = numbers.reduce((accumulator, num) => {
    if(num%2 === 0){
        accumulator.push(num)
    }
    return accumulator
},[])

console.log(evenNumber);

Заключение

Вспомогательные методы массивов в JavaScript, такие как forEach, map, filter и reduce, обеспечивают эффективные способы работы с массивами. Они позволяют повторять, преобразовывать, фильтровать и сокращать элементы, делая код кратким и удобочитаемым. Используя эти методы, вы можете эффективно обрабатывать стандартные операции с массивами и писать более выразительный код без ошибок.