Sort, Reduce, Map, Filter и Find — все это методы массива в JavaScript, которые позволяют вам манипулировать массивами различными способами.
Сортировать
Сортировка используется для сортировки элементов массива в порядке возрастания или убывания. Он может принимать функцию сравнения в качестве аргумента для указания пользовательского порядка сортировки.
- Метод
sort()
используется для сортировки элементов массива в порядке возрастания или убывания. По умолчанию он сортирует элементы в порядке возрастания в соответствии с кодовыми точками Unicode. - Если вы хотите отсортировать элементы в порядке убывания, вы можете передать функцию сравнения в качестве аргумента методу
sort()
. Функция должна принимать два аргумента, которые представляют два сравниваемых элемента, и должна возвращать отрицательное число, если первый элемент должен предшествовать второму элементу, положительное число, если второй элемент должен предшествовать первому, и 0, если они равный. - Метод
sort()
изменяет исходный массив и возвращает отсортированный массив.
Пример:
let numbers = [5, 2, 9, 1, 3]; numbers.sort(); console.log(numbers); // [1, 2, 3, 5, 9] let words = ['apple', 'banana', 'cherry']; words.sort(); console.log(words); // ['apple', 'banana', 'cherry']
Уменьшать
Reduce используется для перебора массива и сокращения его до одного значения путем применения функции обратного вызова к каждому элементу. Функция обратного вызова принимает два аргумента: аккумулятор и текущее значение.
- Метод
reduce()
используется для перебора массива и сокращения его до одного значения путем применения функции обратного вызова к каждому элементу. Функция обратного вызова принимает два аргумента: аккумулятор и текущее значение. Аккумулятор начинается с начального значения, которое передается в качестве второго аргумента методуreduce()
, а текущее значение — это значение текущего элемента в массиве. - Функция обратного вызова вызывается для каждого элемента в массиве, а возвращаемое значение предыдущего вызова передается в качестве аккумулятора для следующего вызова. Окончательное значение, возвращаемое функцией обратного вызова, является уменьшенным значением.
- Метод
reduce()
не изменяет исходный массив, а возвращает уменьшенное значение.
Пример:
let numbers = [1, 2, 3, 4]; let sum = numbers.reduce(function(accumulator, currentValue) { return accumulator + currentValue; }, 0); console.log(sum); // 10
карта
Карта используется для создания нового массива с тем же количеством элементов, что и исходный массив, но с преобразованием каждого элемента функцией обратного вызова.
- Метод
map()
используется для создания нового массива с тем же количеством элементов, что и исходный массив, но с преобразованием каждого элемента функцией обратного вызова. Функция обратного вызова принимает один аргумент, представляющий текущий элемент массива, и должна возвращать преобразованный элемент. - Метод
map()
не изменяет исходный массив, а возвращает новый массив.
Пример:
let numbers = [1, 2, 3, 4]; let doubleNumbers = numbers.map(function(number) { return number * 2; }); console.log(doubleNumbers); // [2, 4, 6, 8]
Фильтр
Фильтр используется для создания нового массива, состоящего только из элементов исходного массива, которые проходят тест, заданный функцией обратного вызова.
- Метод
filter()
используется для создания нового массива, состоящего только из элементов исходного массива, которые проходят тест, заданный функцией обратного вызова. Функция обратного вызова принимает один аргумент, представляющий текущий элемент в массиве, и должна возвращать логическое значение, указывающее, должен ли элемент быть включен в новый массив или нет. - Метод
filter()
не изменяет исходный массив, но возвращает новый отфильтрованный массив.
Пример:
let numbers = [1, 2, 3, 4, 5, 6]; let evenNumbers = numbers.filter(function(number) { return number % 2 === 0; }); console.log(evenNumbers); // [2, 4, 6]
Найти
Find используется для поиска первого элемента в массиве, который удовлетворяет критерию, заданному функцией обратного вызова, и возврата этого элемента.
- Метод
find()
используется для поиска первого элемента в массиве, который удовлетворяет критерию, заданному функцией обратного вызова. Функция обратного вызова принимает один аргумент, представляющий текущий элемент в массиве, и должна возвращать логическое значение, указывающее, является ли элемент тем, который вы ищете, или нет. - Метод
find()
возвращает найденный элемент, если он есть, иначе возвращаетundefined
.
Пример:
let numbers = [1, 2, 3, 4, 5, 6]; let firstEvenNumber = numbers.find(function(number) { return number % 2 === 0; }); console.log(firstEvenNumber); // 2
Краткое содержание
Таким образом, эти методы полезны, когда вы хотите выполнить некоторые операции с массивом элементов, такие как сортировка, сокращение, преобразование, фильтрация или поиск определенного элемента, и все они возвращают новый массив или определенный элемент без изменения исходного массива. .