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

149
Visualizações
Agregar enteros negativos en Javascript

Estoy tratando de escribir una función que devuelva los dos primeros valores en orden de aparición que se suman a la suma. Mi función funciona bien con números positivos, pero no con negativos. ¿Alguien puede decirme qué estoy haciendo mal?

Esta función devuelve una matriz vacía:

 const sumOfPairs = (arr, sum) => { const answer = []; for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length; j++) { if (arr[i] + arr[j] === sum && i != j) { answer.push(arr[j], arr[i]); } break; } } return answer; } console.log(sumOfPairs([1, -2, 3, 0, -6, 1], -6));

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Su implementación tampoco funciona para todos los números positivos. Prueba 3 como sum .

Creo que desea colocar la instrucción break dentro de la instrucción if o simplemente reemplazar el cuerpo de la instrucción if con return [arr[j], arr[i]] :

 const sumOfPairs = (arr, sum) => { for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length; j++) { if (arr[i] + arr[j] === sum && i != j) { // You can return here if you only want to find *one* pair // You also need add some additional logic if you want them // to be in the same order as in the original array: return i < j ? [arr[i], arr[j]] : [arr[j], arr[i]] } } } return [] } console.log(sumOfPairs([1, -2, 3, 0, -6, 1], -6));

¡La ubicación actual de la instrucción break en su ciclo hace que el ciclo interno termine después de su primera iteración! Por lo tanto, el ciclo interno es equivalente a probar si la suma del elemento del ciclo externo actual ( arr[i] ) y 1 (el primer elemento de la matriz) es igual a la suma proporcionada.

about 4 years ago · Santiago Trujillo 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