Simplificando estruturas de repetição com HOFS (Javascript)
Introdução
As estruturas de repetição tendem a dar problemas (quem nunca fez um loop infinito atire a primeira pedra), no javascript temos as HOFs, que simplificam as manipulações de array, possibilitando maior legibilidade ao código.
Exemplos
estrutura de repetição padrão que dobra os numeros do array nums
const nums = [1, 2, 3, 4];
let doublesNums = [];
for (let index = 0; index < nums.length; index += 1) {
doublesNums.push(nums[index] * 2)
}
console.log(doublesNums) // [2, 4, 6, 8]
com o map
const nums = [1, 2, 3, 4];
const result = nums.map((num) => num * 2)
console.log(result) // [2, 4, 6, 8]
Utilizando o map
, reduzimos o número de linhas usadas, simplificando a escrita do código, deixando ele mais legível.
utilizando o for
, para filtrar os dados nescessários
const employees = [{ name: 'Icaro', wage: 4000 }, { name: 'Pedro', wage: 2000 }, { name: 'Carlos', wage: 3500 }]
let filtredEmployees = []
for (let index = 0; index < employees.length; index += 1) {
if (employees[index].wage >= 3000) filtredEmployees.push(employees[index]);
}
console.log(filtredEmployees) // [{ name: "Icaro", wage: 4000 },{ name: "Carlos", wage: 3500 } ]
Fazendo a mesma coisa, com o filter
const employees = [{ name: 'Icaro', wage: 4000 }, { name: 'Pedro', wage: 2000 }, { name: 'Carlos', wage: 3500 }]
const result = employees.filter((employee) => employee.wage >= 3000)
console.log(result) // [{ name: "Icaro", wage: 4000 },{ name: "Carlos", wage: 3500 } ]