Function oddNumbers(){ Var odds =""; For(index=0; index <=10; index ++){ If(index%2 !=0){odds+=index +"."} } } OddNumbers();Tratando de contar todos los números de conteo impares hacia arriba y luego hacia abajo nuevamente en un bucle for. Puedo hacer que vuelva a subir con el código. Pero cuando intento anidar no puedo hacer que vuelva a bajar en el mismo bucle. ¿Cómo haría para que subiera y luego volviera a bajar?
Suponiendo que desea usar solo una definición de loop , debe definir conditionExpression e incrementExpression personalizados.
Aquí hay un ejemplo rápido.
var direction = 1; //REM: What gets added on each iteration? function incrementExpression(){ //REM: Increase or decrease depending on direction return 1*direction } //REM: What gets evaluated on each iteration? function conditionExpression(i){ if(i < 10 && direction === 1){ return true } if(i === 10 && direction === 1){ direction = -1 return true } if(i >= 0 && direction === -1){ direction = -1 return true }; //REM: Returns false if direction downwards and i lower zero return false } for(var i=0; conditionExpression(i); i+=incrementExpression(i)){ console.log(i) }Puede invertir su ciclo for en su caso de uso. Vea el fragmento de código a continuación:
function oddNumbers() { var odds = ""; for(index=0; index <=10; index ++){ if(index%2 !=0) { odds+=index +"." console.log(odds); } } for(index = 10; index > 0; index--) { if(index % 2 != 0) { odds+=index +"." console.log(odds); } } } oddNumbers();No estoy seguro de si eso es lo que quiere, pero eso es lo que entiendo en su código dado en su pregunta.