Javascript boucle de récursivité des éléments de la matrice de

Je suis en train de faire un petit programme qui demande à un utilisateur d'ajouter des éléments à une liste d'épicerie.

J'ai lu sur l'utilisation de la récursivité de la boucle. Je comprends alors que la boucle serait probablement mieux adapté pour cette tâche, mais j'ai rencontré les mêmes problèmes avec la boucle while et je voulais essayer de récursivité. Il semble juste comme je sais ce que je fais... "Ouai, j'ai utilisé la récursivité pour énumérer le tableau tout en invitant la validation de l'utilisateur... hur hur hur"... mais, je m'égare.

Voici le code:

function addToArray() {
          var array = [];
          array.push(prompt("Add items to array or 'q' to stop"));
          if (array.pop() == 'q') {
              document.write(array)
          }
          else {
              addToArray();
          }
      }
      addToArray();

Si vous l'aurez remarquez, il fait une boucle comme son supposé, mais il n'est pas d'ajouter des éléments à un tableau. J'ai essayé le array[i] = i de la technique, mais en vain, le tableau reste vide. Aussi, pourquoi est-ce que par l'utilisation d'une fonction sans arguments, je ne suis pas en cours d'exécution dans trop de la récursivité? C'est à cause de l'instruction conditionnelle?

Si vous savez ce que je fais mal, essayer et pointe vers la bonne réponse, plutôt que de simplement blurting il. J'aimerais avoir que " Aha moment. Je pense que cela nous permet d'en apprendre un peu mieux.

Merci les gars. (et les filles)

  • astuce #1: var array = []; crée un nouveau tableau à chaque appel de fonction
  • astuce n ° 2: vous n'avez pas besoin de faire de la récursivité, mais une boucle infinie
InformationsquelleAutor Jerry Walker | 2013-10-16