¿Alguien puede decirme qué pieza de código no funciona según lo previsto y una explicación de por qué?
Tratando de tomar cualquiera de los dos enteros a y b, que pueden ser positivos o negativos, encontrar la suma de todos los enteros entre ellos e incluirlos y devolverlo. Si los dos números son iguales devuelve a o b.
Nota: ¡a y b no están ordenados!
Se puede encontrar más información sobre la pregunta en el siguiente enlace.
https://www.codewars.com/kata/55f2b110f61eb01779000053/train/javascript
function getSum( a,b ){ let count = 0; if(a>b){ let greaterNum = a; let lesserNum = b; count = lesserNum; for(lesserNum; lesserNum<greaterNum; lesserNum++){ count += 1; } return count; }else if(a<b){ let greaterNum = b; let lesserNum = a; count = lesserNum; for(lesserNum; lesserNum<greaterNum; lesserNum++){ count += 1; } return count; }else if (a==b){ return a; } }encuentre la suma de todos los enteros entre ellos e incluyéndolos y devuélvalo
Estás haciendo:
count += 1;es decir, estás contando la cantidad de números, no sumando .
También lo estás complicando demasiado:
function getSum( a,b ){ const start = Math.min(a,b); const end = Math.max(a,b); let sum = 0; for(let x = start;x<=end;x++) sum += x; return sum; } console.log(getSum(0,10)) console.log(getSum(10,10)) console.log(getSum(-10,10)) console.log(getSum(10,-10))