Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

165
Views
Generando un rango de números a través de la recursividad

Acabo de empezar a aprender JS en Freecode y hacer esa tarea Use Recursion to Create a Range of Numbers). La función debe devolver una matriz de enteros que comienza con un número representado por el parámetro startNum y termina con un número representado por el parámetro endNum. El número inicial siempre será menor o igual que el número final. Su función debe usar recursividad llamándose a sí misma y no usar bucles de ningún tipo. También debería funcionar para los casos en los que tanto startNum como endNum sean iguales.

Mi solución está abajo

 let myVal = []; function rangeOfNumbers(startNum, endNum) { if (startNum <= endNum) { myVal.push(startNum); startNum++; rangeOfNumbers(startNum, endNum); } return myVal; } rangeOfNumbers(2, 5);

Normalmente debería funcionar bien, pero no sé por qué no es aceptable.

about 4 years ago · Juan Pablo Isaza
4 answers
Answer question

0

Puede eliminar la variable myVal por completo utilizando la sintaxis extendida para que su función devuelva la matriz de números de forma recursiva.

 function rangeOfNumbers(startNum, endNum){ if(startNum <= endNum){ return [startNum,...rangeOfNumbers(startNum+1, endNum)]; } return []; } console.log(rangeOfNumbers(2,5));

about 4 years ago · Juan Pablo Isaza Report

0

Para llamarlo de forma recursiva, debe dar a la matriz para que funcione:

 function rangeOfNumbers(startNum, endNum, myVal){ if(startNum <= endNum){ myVal.push(startNum); startNum++; return rangeOfNumbers(startNum, endNum, myVal); } return myVal; }

y llamar a la función de esta manera:

 rangeOfNumbers(2, 5, []);
about 4 years ago · Juan Pablo Isaza Report

0

Hay varias maneras de lograr esto.

 let myVal = []; function rangeOfNumbers(startNum, endNum, myVal) { if (startNum === endNum) { myVal.push(startNum); return myVal; } myVal.push(startNum); return rangeOfNumbers(startNum + 1, endNum, myVal); } console.log(rangeOfNumbers(1, 10, myVal)); //[1, 2, 3, 4, 5,6, 7, 8, 9, 10]

O, como no puede pasar la matriz a la función, intente esto en su lugar:

 let myVal = []; function rangeOfNumbers(startNum, endNum) { if (startNum === endNum) { return myVal.push(startNum); } myVal.push(startNum); return rangeOfNumbers(startNum + 1, endNum); } rangeOfNumbers(1, 10); console.log(myVal); //[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
about 4 years ago · Juan Pablo Isaza Report

0

Me funciono asi...Saludos

function rangeOfNumbers(startNum, endNum) {
  if (startNum <= endNum) {
    const countArray = rangeOfNumbers(startNum + 1, endNum);
    countArray.unshift(startNum);
    return countArray;
  } return [];
}
console.log(rangeOfNumbers(1, 5));//[ 1, 2, 3, 4, 5 ]

about 4 years ago · Andreina Del Carmen Lacruz Moreno Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!