Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-07-2004, 07:42   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 779
Verschachtelte Schleife verlassen

Morgen!

Ich habe ein Schleifenproblem.
Ich habe das mehrdimensionale Array woerter.
ActionScript:
  1. woerter = [
  2.     ["meyer","meier","maier"],
  3.     ["schulz","schultz","schulze"],
  4.     ["blau","gelb","rot"]
  5. ];
Der Inhalt des Arrays soll mit einer Eingabe verglichen werden. D.h. der User gibt irgendwas ein und dann wird erst mit ["meyer","meier","maier"], dann mit ["schulz","schultz","schulze"] verglichen und so weiter. Wenn die Eingabe mit einem Eintrag im Array übereinstimmt, soll es eine Meldung geben, wenn es keinen entsprechenden Eintrag gibt, eine andere.
Dafür habe ich diese Funktion geschrieben:
ActionScript:
  1. function auswertung(){
  2.     for (i=0;i<woerter.length;i++){
  3.         for (q=0;q<woerter[i].length;q++){
  4.             if (_root.eingabe==woerter[i][q]){
  5.                 _root.ausgabe="drin";
  6.                 break;
  7.             }
  8.            
  9.             else{
  10.                 _root.ausgabe="nicht drin";
  11.             }
  12.         }
  13.     }
  14. }
Jetzt ist das Problem, dass das auch fast funzt. Nur wird die äußere Schleife immer komplett durchlaufen, so dass die Meldung fast immer "nicht drin" ist.
Ich brauche also irgendeinen Befehl innerhalb der if-Anweisung, der auch die äußere Schleife stoppt.
Weiß jemand Rat.
Vielen Dank im voraus.
Adios
Raycer ist offline   Mit Zitat antworten
Alt 21-07-2004, 08:21   #2 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
setze doch in der inneren schleife ein flag (z.B. flag = true) und in der äußeren machste dann ein :

if (flag == true ) break;
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 21-07-2004, 08:25   #3 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
oder, was aber nicht sehr schön ist, du setzt i = q = 99999999;
Janoscharlipp ist offline   Mit Zitat antworten
Alt 21-07-2004, 09:10   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 779
da kann ich nur sagen: mal wieder kompetente, schnelle Hilfe - danke euch!!!
Raycer ist offline   Mit Zitat antworten
Alt 21-07-2004, 09:28   #5 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
ich sach´s ja ungern...
aber anstelle des

ActionScript:
  1. break;

einfach einen

ActionScript:
  1. return;

gesetzt, beendet beide schleifen bei vorkommen des suchbegriffs...


da muss man keine steuervar setzen oder so´n schnick-schnack...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 21-07-2004, 09:30   #6 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
ach kelor,

ich hab mal wieder nur halb aufs script geschaut und zu schnell geschossen
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 21-07-2004, 09:48   #7 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
was hat das mit dem script zu tun?...


gretz

kelor
kelor ist offline   Mit Zitat antworten
Alt 21-07-2004, 09:49   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 779
@kelor: aber beendet return nicht den ganzen codeblock? das wäre nämlich schlecht, denn ich habe hier nur ne abgespeckte Version gepostet und die Funktion muss noch weiterlaufen...
Raycer ist offline   Mit Zitat antworten
Alt 21-07-2004, 09:50   #9 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
na ich hatte ALLES im blick bis auf die zeile:

function auswertung()
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 21-07-2004, 09:51   #10 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
ja raycer, genauso ist es. dann wars ja doch nich so schlimm, daß ichs bißchen verpeilt hab und du kannstes nun doch so machen
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 21-07-2004, 09:55   #11 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 779
eben, darum habe ich mich ja auch so gefreut, denn ich hatte es schon vorher mit return versucht und das hat mir nichts gebracht. wollte das aber nicht mit in den thread schreiben, um die leute nicht zu verwirren, was ich eigentlich will.
danke nochmal (auch dir, kelor)!
Raycer ist offline   Mit Zitat antworten
Alt 21-07-2004, 10:11   #12 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
in einem solchen fall solltest du aber dann schon den kompletten code auch herzeigen...

sitzt in der funktion noch mehr drin?

dann mach doch diese verschachtelten for-schleifen in ne eigene funktion...dan stimmt auch das return...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 21-07-2004, 11:10   #13 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
Zitat:
dann mach doch diese verschachtelten for-schleifen in ne eigene funktion...dan stimmt auch das return...
is glaub ich die edelste variante
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele