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

297
Visualizações
AssertionError [ERR_ASSERTION]: indefinido == 390 en gitlab

Estoy un poco confundido con AssertionError [ERR_ASSERTION]: undefined == 390 en gitlab .

quiero lo siguiente:

La función sumSalaries (obj), para aceptar como parámetro el objeto obj donde los nombres de campo corresponden al nombre de un empleado, mientras que los valores correspondientes son o salario de cada empleado.

Tome el siguiente fragmento de código:

 export default function sumSalaries(obj) { let salaries = { John: 100, Jane: 160, Mike: 130 }; let sum = 0; for (let key in salaries) { if (salaries.hasOwnProperty(key)) { sum += salaries[key]; } } obj = sum; console.log(obj); } sumSalaries();

La prueba debe hacer lo siguiente:

 import sumSalaries from "../test.js"; import assert from "assert"; describe("\n\ntest.js", () => { it("should return the correct sum", () => { [ [ { John: 100, Ann: 160, Pete: 130, }, 390, ], [ { John: 80, Jane: 160, Mike: 190, }, 430, ], [ { Charlie: 84, Victor: 160, Pete: 200, }, 444, ], ].map((obj) => { let salaries = obj[0]; let sum = obj[1]; assert.equal(sumSalaries(salaries), sum); }); }); });

El error que me da gitlab:

 AssertionError [ERR_ASSERTION]: undefined == 390
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Echemos un vistazo a lo que has escrito:

 export default function sumSalaries(obj) { let salaries = { John: 100, Jane: 160, Mike: 130 };

Se supone que su función calcula la suma de los salarios pasados, pero acaba de poner su propia lista fija de ellos aquí. Por lo tanto, su función solo calculará la suma de estos tres salarios.

Luego procede a sumar estos salarios, lo que parece ir bien:

 let sum = 0; for (let key in salaries) { if (salaries.hasOwnProperty(key)) { sum += salaries[key]; } }

El parámetro obj contenía los salarios pasados, pero después de esta línea ahora contiene la suma de los salarios que calculó a partir de su lista fija:

 obj = sum;

Luego escribes esta suma en la consola. Tal vez sea útil para la depuración, pero una vez que haya terminado de depurar, elimine esta línea.

 console.log(obj);

La función finaliza sin encontrar una declaración de return , por lo que su función devuelve undefined . Esto explica por qué está recibiendo afirmaciones sobre undefined == 390 : el undefined es lo que devolvió su función y el 390 era lo que su prueba esperaba devolver.

 }

Entonces, ¿cómo puedes arreglar esto?

En primer lugar, cambie el nombre del parámetro de función obj a salaries y elimine los salarios codificados. Esto permite que su función calcule la suma de los salarios que recibe.

En segundo lugar, una vez que hayas calculado la suma, return .

Debería terminar con lo siguiente, que, después de haberlo probado, parece funcionar:

 export default function sumSalaries(salaries) { let sum = 0; for (let key in salaries) { if (salaries.hasOwnProperty(key)) { sum += salaries[key]; } } return sum; }
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