Методы массива более высокого порядка в JavaScript:

Здравствуйте, программисты! Сегодня я хочу обсудить основную концепцию популярного языка сценариев JavaScript, а именно Методы массивов более высокого порядка.
Как мы знаем, JavaScript содержит функцию первого порядка. Функция первого порядка — это функция, которая может быть сохранена в объекте, переменной или массиве подобно тому, как могут храниться строки или массивы.
И одним из наиболее важных аспектов функции первого порядка является то, что они могут быть переданы в качестве аргумента другой функции.
Но функция, которая принимает функцию первого порядка в качестве аргумента, называется Функция высшего порядка.
Вот и все, теперь мы можем построить определение функции высшего порядка как:
«Функция, которая принимает другую функцию в качестве аргумента, а также возвращает функцию, называется функцией высшего порядка».
Поскольку мы поняли, что такое функции высшего порядка, задумывались ли вы когда-нибудь, сколько встроенных методов высшего порядка есть в JavaScript?
Можно подумать! ,
Но знаете ли вы, какие методы массива в JavaScript являются методами более высокого порядка? Это означает, что они принимают другие функции в качестве аргументов.
Здесь мы обсудим 7 методов массива, которые принимают функцию в качестве аргумента:
- карта()
- фильтр()
- уменьшить()
- найти()
- найтииндекс()
- сортировать()
- для каждого()
Давайте объясним их один за другим на примере:
карта( ) :
Синтаксис: карта (функция (элемент, индекс, массив) { // код } )
Он вызывает функцию для каждого элемента массива и возвращает массив результатов.
Пример :
let lengths = ["Bilbo", "Gandalf", "Nazgul"].map(item => item.length); alert(lengths); // 5,7,6
фильтр( ):
Синтаксис: filter(function(item, index, array) { // code } )
filter возвращает массив всех элементов, удовлетворяющих условию, заданному в функции.
Пример :
let users = [
{id: 1, name: "John"},
{id: 2, name: "Pete"},
{id: 3, name: "Mary"}
];
// returns array of the first two users
let someUsers = users.filter(item => item.id < 3);
alert(someUsers.length); // 2
уменьшать( ) :
Синтаксис:reduce(function(accumulator, item, index, array) { // code }, [initial]);
Вычислить одно значение на основе массива.
Пример :
let arr = [1, 2, 3, 4, 5]; let result = arr.reduce((sum, current) => sum + current, 0); alert(result); // 15
находить( ) :
Синтаксис:find(function(item, index, array) { //code });
Найти конкретный элемент на основе условия, указанного в функции.
Пример :
let users = [
{id: 1, name: "John"},
{id: 2, name: "Pete"},
{id: 3, name: "Mary"}
];
let user = users.find(item => item.id == 1);
alert(user.name); // John
найтиИндекс() :
Синтаксис:find(function(item, index, array) { //code });
Метод findIndex аналогичен методу find, но он находит индекс элемента в массиве на основе условия, заданного в функции.
Пример :
let users = [
{id: 1, name: "John"},
{id: 2, name: "Pete"},
{id: 3, name: "Mary"},
{id: 4, name: "John"}
];
// Find the index of the first John
alert(users.findIndex(user => user.name == 'John')); // 0
// Find the index of the last John
alert(users.findLastIndex(user => user.name == 'John')); // 3
Сортировать() :
Синтаксис: Синтаксис этого метода изменяется в соответствии с вашими требованиями
Для этого вы можете обратиться к документации MDN:
Сортирует элементы массива в алфавитном, возрастающем или убывающем порядке.
для каждого() :
Синтаксис:forEach(function(item, index, array) { //code });
Позволяет запускать функцию для каждого элемента массива.
// for each element call alert ["Bilbo", "Gandalf", "Nazgul"].forEach(alert);
Это все, что касается методов массива высшего порядка в JavaScript.
Надеюсь, вы поняли эту важную концепцию.
Не стесняйтесь делиться своими отзывами в этом блоге.