Como podemos saber até que ponto vale trocarmos performance por legibilidade de código?
Digo...
Para o exemplo exposto no artigo:
const numeros = [2,3,4,5,6,7,8,9,10]
numeros.filter((numero) => numero % 2 === 0).map((numero) => numero * 2)
// [ 4, 8, 12, 16, 20 ]
Tudo bem, é uma pequena lista com dados primitivos.
Mas, e se fosse um grande array, mais complexo, com dados bem mais complexos?
Digo, um array com 18 mil usuários, por exemplo.
const isActive = user => user.status.current === ActiveStatus.ACTIVE;
const isFromBrasil = user => user.region === 'BR';
const getFullName = user => `${user.name} ${user.lastName}`;
const brazilianActiveUsersName = aBigUsersArray
.filter(isFromBrasil)
.filter(isActive)
.map(getFullName)
Isso não aumentaria o processamento por ter de iterar o mesmo array X vezes, onde X é a quantidade de operações/tratamentos que fazemos em cima dos dados?