Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

199
Visualizações
cómo calcular el porcentaje total, número total con sujeto usando reduce

Tengo una función subjectTotal que devuelve el total de un sujeto CQ y MCQ, estoy tratando de calcular el porcentaje dentro de la función subjectTotal, ya tengo una función de porcentaje que devuelve el porcentaje y el punto de calificación.

Función SubjectTotal:

 const value = { english_1st_CQ: 5, english_2nd_CQ: 10, math_1st_CQ: 15, math_1st_MCQ: 20, math_2nd_CQ: 25, math_2nd_MCQ: 30, }; const subjectTotal = Object.entries(value).reduce((result, [key, value]) => { const [subjectName, subjectPosition, suffix] = key.split('_') const fullSubjectName = `${subjectName}_${subjectPosition}` if(!result[fullSubjectName]) { result[fullSubjectName] = 0; } result[fullSubjectName] += value return result }, {}) console.log(subjectTotal)

Calcule la función de porcentaje, también estoy calculando el punto de calificación dentro de la función

 const subjectTotal = { english_1st: 5, english_2nd: 10, math_1st: 35, math_2nd: 55 } const calculatePercentage = (subTotal) => { if (subTotal === 0) return { percentage: 0, GP: 0 }; // console.log(subTotal); const percentage = (subTotal / 100) * 100 - 4; let GP; if (percentage >= 80) GP = 5; if (percentage >= 70 && percentage <= 79) GP = 4; if (percentage >= 60 && percentage <= 69) GP = 3.5; if (percentage >= 50 && percentage <= 59) GP = 3; if (percentage >= 40 && percentage <= 49) GP = 2; if (percentage >= 33 && percentage <= 39) GP = 1; if (percentage < 33) GP = 0; return { percentage, GP }; }; const math_percentage = calculatePercentage(subjectTotal.math_1st + subjectTotal.math_2nd); const english_percentage= calculatePercentage(subjectTotal.english_2nd + subjectTotal.english_1st); console.log(math_percentage, english_percentage)

No quiero llamar a la función una y otra vez, de esta manera, porcentaje_matemático , porcentaje_inglés . así que estoy tratando de llamar al porcentaje de cálculo dentro del total del sujeto y el total del sujeto devolverá el total del sujeto también el porcentaje

No tengo un ejemplo, solo quiero calcular el porcentaje dentro del subtotal.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Esto es lo que necesita

 const value = { english_1st_CQ: 5, english_2nd_CQ: 10, math_1st_CQ: 15, math_1st_MCQ: 20, math_2nd_CQ: 25, math_2nd_MCQ: 30, }; const calculatePercentage = (subTotal) => { if (subTotal === 0) return { percentage: 0, GP: 0 }; const percentage = (subTotal / 100) * 100 - 4; let GP; if (percentage >= 80) GP = 5; if (percentage >= 70 && percentage <= 79) GP = 4; if (percentage >= 60 && percentage <= 69) GP = 3.5; if (percentage >= 50 && percentage <= 59) GP = 3; if (percentage >= 40 && percentage <= 49) GP = 2; if (percentage >= 33 && percentage <= 39) GP = 1; if (percentage < 33) GP = 0; return { percentage, GP }; }; const subjectTotal = Object.entries(value).reduce((result, [key, value], currentIndex, array) => { const [subjectName, subjectPosition, suffix] = key.split('_') const fullSubjectName = `${subjectName}_${subjectPosition}` if(!result[fullSubjectName]) { result[fullSubjectName] = 0; } result[fullSubjectName] += value; if (currentIndex + 1 === array.length){ result.math_percentage = calculatePercentage(result.math_1st + result.math_2nd); result.english_percentage= calculatePercentage(result.english_2nd + result.english_1st); } return result }, {}) console.log(subjectTotal);

En el código anterior, uso el porcentaje de calculatePercentage solo en la última iteración de reducir para el último elemento donde todos los elementos de la matriz que ha proporcionado ya se reducen al resultado que desea. Luego adjuntamos al resultado los porcentajes de acuerdo a los valores ya finales calculados que contiene.

Además, como puede ver en la firma reduce((result, [key, value], currentIndex, array) reduce permite como parámetro el índice actual que mostrará a qué iteración se aplica el método de reducción, y también la matriz que se proporcionó como entrada ser reducido

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda