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

Здравствуйте, программисты! Сегодня я хочу обсудить основную концепцию популярного языка сценариев JavaScript, а именно Методы массивов более высокого порядка.

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

И одним из наиболее важных аспектов функции первого порядка является то, что они могут быть переданы в качестве аргумента другой функции.

Но функция, которая принимает функцию первого порядка в качестве аргумента, называется Функция высшего порядка.

Вот и все, теперь мы можем построить определение функции высшего порядка как:

«Функция, которая принимает другую функцию в качестве аргумента, а также возвращает функцию, называется функцией высшего порядка».

Поскольку мы поняли, что такое функции высшего порядка, задумывались ли вы когда-нибудь, сколько встроенных методов высшего порядка есть в JavaScript?

Можно подумать! ,

Но знаете ли вы, какие методы массива в JavaScript являются методами более высокого порядка? Это означает, что они принимают другие функции в качестве аргументов.

Здесь мы обсудим 7 методов массива, которые принимают функцию в качестве аргумента:

  1. карта()
  2. фильтр()
  3. уменьшить()
  4. найти()
  5. найтииндекс()
  6. сортировать()
  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.
Надеюсь, вы поняли эту важную концепцию.

Не стесняйтесь делиться своими отзывами в этом блоге.

Счастливого обучения!