Advertisement
RandomGuy32

chooseActivity()

Mar 1st, 2014
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. Also: Mein Skript soll mir dabei helfen, eine Entscheidung zu treffen. Ich gebe eine Reihe von Optionen durch Kommata getrennt in ein Textfeld ein und das Skript wählt dann zufällig eine aus.
  3. */
  4.  
  5. function chooseActivity() {
  6.             m = 0;
  7.             n = 0;
  8.             input = document.getElementById("txtInput").value;
  9.             for (n = 0; n < input.length; n++) {
  10.                 if ((input.charAt(n) == ",") && (input.charAt(n + 1) == " ")) {
  11.                     n++;
  12.                     m++;
  13.                     }
  14.                 else {
  15.                     options[m] += input.charAt(n);
  16.                     }
  17.                 }
  18.             if (n == input.length) {
  19.                 output = options[Math.floor(Math.random() * options.length)];
  20.                 document.getElementById("divOutput").innerHTML = output;
  21.                 }
  22.             }
  23.  
  24. /*
  25. Ich habe es so gehandhabt, dass das Skript die einzelnen Optionen in ein Array schreibt. Es fängt an, die einzelnen Zeichen in das erste Element des Arrays options[0] zu packen, und wenn es ein Komma (und danach ein Leerzeichen) findet, überspringt es diese beiden Zeichen, und geht dazu über, die folgenden Zeichen in das nächste Element des Arrays options[1] zu schreiben und immer so weiter. Wenn es alle Zeichen übernommen hat, gibt es ein zufälliges Element des Arrays aus.
  26.  
  27. Jetzt habe ich drei Probleme:
  28.  
  29. Erstens: Da die Anzahl der Auswahlmöglichkeiten nicht vorgegeben ist, kann ich dem Skript auch nicht sagen, wie lang das Array ist.
  30. Zweitens: Dadurch sind alle Elemente des Arrays zunächst undefined. Wenn das Skript also den Input "abc, def, ghi" erhält, ist der Output entweder "undefinedabc", "undefineddef" oder "undefinedghi".
  31. Dritten: Wenn ich das Skript mehrmals benutzen möchte, bleiben die alten Array-Elemente erhalten. Irgendwann ist der Output dann also bspw. "undefinedabcabcabcabcabc". Ich weiß aber nicht, wie ich das Array "leeren" kann, denn wenn ich zu Beginn der Funktion options = null mache, geschieht gar nichts mehr, wenn das Skript abläuft.
  32. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement