Olá meus caros amigos, estou com um pequeno problema, aquele bendito código repetido que deve ser transformado numa função, porém eu estou com uma duvida de como transforma-lo em função eis o exemplo abaixo, O principal do que está ai seria a validação no IF, para trocar o valor fisiologico pelos valores que listarei abaixo do exemplo, sem ter que repetir codigo
const piramideNecessidade = await mongodb(piramideNecessidade).find().toArray()
const pontosConsolidados = await mongodb(pontosConsolidados).find().toArray()
var paraOProximoNivel = 0
var meusPontosParaProximoNivel = 0
var meuNivel = 0
for (const novaPiramideNecessidade of piramideNecessidade) {
if (novaPiramideNecessidade.level === 'Fisiológico') {
paraOProximoNivel += novaPiramideNecessidade.goal_level1
const valueItem = pontosConsolidados.filter((values) => values.item === novaPiramideNecessidade.keycode)
for (const valueItemNew of valueItem) {
if (valueItemNew.value >= novaPiramideNecessidade.goal_level1) {
meusPontosParaProximoNivel += novaPiramideNecessidade.goal_level1
} else {
meusPontosParaProximoNivel += valueItemNew.value
}
}
}
}
O meu problema é o seguinte, existe uma piramide de 5 niveis, onde eu devo ir calculando o seu nivel do 1 até o 5, cada um dos niveis tem um nome, que seria o novaPiramideNecessidade.level, no caso esse exemplo mostra o Fisiológico, existem os outros 4 niveis, que fiz um enum para o caso.
module.exports = {
PHYSIOLOGICAL: 'Fisiológico',
SECURITY: 'Security',
SOCIAL: 'Social',
REALIZATION: 'Realização'
}
Como eu passo por cada um desses niveis, fisiologico, segurança... sem ter que repetir o código?