Вспомогательные методы массивов в 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
, обеспечивают эффективные способы работы с массивами. Они позволяют повторять, преобразовывать, фильтровать и сокращать элементы, делая код кратким и удобочитаемым. Используя эти методы, вы можете эффективно обрабатывать стандартные операции с массивами и писать более выразительный код без ошибок.