Содержание
Зачем отказываться от циклов? Перебор массива и создание нового измененного массива Перебор массива и выполнение действия Фильтрация массива Манипуляции с элементами массива Проверка массива на наличие значения Проверка элементов массива на соответствие условию
Зачем отказываться от циклов?
Читаемым Понятным Легким для внесения изменений и модификаций
Перебор массива и создание нового измененного массива
var names = ["Jack", "Jecci", "Ram", "Tom"];
var upperCaseNames = [];
for (let i = 0, totalNames = names.length; i < totalNames; i++) {
upperCaseNames.push(names[i].toUpperCase());
}
С использованием функции высшего порядка:
var names = ["Jack", "Jecci", "Ram", "Tom"];
var upperCaseNames = names.map(name => name.toUpperCase());
Перебор массива и выполнение действия
function print(name) {
console.log(name);
}
var names = ["Jack", "Jecci", "Ram", "Tom"];
for (let i = 0, totalNames = names.length; i < totalNames; i++) {
print(names[i]);
}
С использованием функции высшего порядка:
var names = ["Jack", "Jecci", "Ram", "Tom"];
names.forEach(name => print(name));
Фильтрация массива
function isOdd(n) {
return n % 2;
}
var numbers = [1, 2, 3, 4, 5];
var odd = [];
for (let i = 0, total = numbers.length; i < total; i++) {
let number = numbers[i];
if (isOdd(number)) {
odd.push(number);
}
}
С использованием функции высшего порядка:
var numbers = [1, 2, 3, 4, 5, 6, 7];
var odd = numbers.filter(n => n % 2); // single line
Манипуляции с элементами массива
var numbers = [1, 2, 3, 4, 5];
var result = 0;
for (let i = 0, total = numbers.length; i < total; i++) {
result += numbers[i];
}
С использованием функции высшего порядка:
var numbers = [1, 2, 3, 4, 5, 6, 7];
var result = numbers.reduce((acc, val) => acc + val, 0);
Проверка массива на наличие значения
var names = ["ram", "raj", "rahul"];
for (let i = 0, totalNames = names.length; i < totalNames; i++) {
if (names[i] === "rahul") {
console.log("%c found rahul", "color:red");
return;
}
}
С использованием функции высшего порядка:
var names = ["ram", "raj", "rahul"];
let isRahulPresent = names.some(name => name === "rahul");
if (isRahulPresent) {
console.log("%c found rahul", "color:red");
}
Проверка элементов массива на соответствие условию
var num = [1, 2, 3, 4, 5, 0];
for (let i = 0, total = num.length; i < total; i++) {
if (num[i] <= 0) {
console.log("0 present in array");
break;
}
}
С использованием функции высшего порядка:
var num = [1, 2, 3, 4, 5, 0];
var isZeroFree = num.every(e => e > 0);
if (!isZeroFree) {
console.log("0 present in array");
}
Использование функций высшего порядка делает код не только более лаконичным, но и более выразительным, что упрощает его чтение и поддержку.