. filter() создает новый массив с элементами, которые подпадают под заданные критерии из существующего массива:
let num = [1,5,7,10,13]< br /> let luckyNumber = num.filter(function(number){
return number › 7;
});
//выход: [10,13]

Синтаксис:
let newArr = arr.filter(function(item){
return condition;
});

The (item ) является ссылкой на текущий элемент в массиве, так как filter() проверяет его на соответствие условию. Если текущий элемент соответствует условию, он отправляется в новый массив.

.map() перебирает массив и создает новый массив, в котором каждый элемент был передан через функцию:

let hotDrinks = ["чай", "кофе", "горячий шоколад"];
let coldDrinks = hotDrinks.map (function(drink){
return 'iced' + drink;
})

//output: ['чай со льдом', 'кофе со льдом', 'горячий шоколад со льдом ']


Синтаксис очень прост:
let newArr = myArr.map(function(item){
// делаем что-то с элементом и вернуть его
})


forEach() перебирает массив так же, как .map(), но ничего не возвращает.
const apps = ['WhatsApp', 'Instagram', 'Facebook'];
const playStore = [];

apps .forEach(function(item)) {
playStore.push(item)
});
console.log(playStore);
// вывод:
< br />
У нас есть множество приложений i массив приложений nside. Сначала мы перебираем массив один за другим, помещаем элементы в новый массив с именем playStore и отображаем его. Вы скажете, что здесь можно использовать цикл for. И, конечно же, мы можем сделать то же самое, используя обычный цикл Javascript For.

const apps = ['WhatsApp', 'Instagram', 'Facebook'];
const playStore = [];

for( let i = 0; i ‹ apps.length; i++) {
playStore.push(apps[i]);
}
console.log(playStore)
< br /> И цикл For, и метод forEach позволяют нам перебирать массив в цикле, но forEach лучше читается, чем цикл for.

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

Когда я впервые услышал термин «Функции высшего порядка», я сразу подумал о чем-то страшном, но позже я начал их использовать, даже не подозревая об этом.

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

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

Функции высшего порядка позволяют нам абстрагироваться от действий, а не только от значений. Они бывают нескольких форм. Например, есть встроенные методы массива ForEach, которые предоставляют что-то вроде цикла for/of в виде функций более высокого порядка.

JS Array имеет множество встроенных функций более высокого порядка. Array.filter, Array.forEach, Array.map — некоторые широко используемые примеры HOF. Давайте посмотрим на некоторые примеры.

Мой опыт работы с функцией высшего порядка