Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-09-2003, 13:28   #1 (permalink)
Klugscheisser
 
Registriert seit: Jun 2001
Ort: Düsseldorf
Beiträge: 1.354
Question return true?

Moin!

Ich wollte mal eine Funktion elementOf(); bauen, die abprüft, ob argument1 element von argument 2 ist, also

wahrodernicht=elementOf(3,"1,2,3,4,5,gh,einAffe,mr xl8,76");

...um mir tausende Einzelvergleiche in if(){}-Abfragen zu sparen

Das Script für die Funze sieht aus wie folgt:

ActionScript:
  1. movieClip.prototype.elementOf= function(compare,werte){
  2. wertarray= werte.split()
  3. for(compare in wertarray){return true;}
  4. }

Wenn also compare in wert vorkommt, sollte true zurückkommen
Nun das Komische...
ActionScript:
  1. trace(elementOf(3,"1,2,3,4"));
...zeigt mir schön brav true an




ActionScript:
  1. variabel=elementOf(3,"1,2,3,4");
  2. trace(variabel);
...ergibt aber nix - also auch nicht null sondern weisses Ausgabefenster

Wieso?

Geändert von T.Decay (18-09-2003 um 13:32 Uhr)
T.Decay ist offline   Mit Zitat antworten
Alt 18-09-2003, 14:12   #2 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
diese Anwendung von for(compare in wertarray) kenn ich nicht und ist so glaub ich auch nicht möglich !
ActionScript:
  1. movieclip.prototype.elementOf= function(compare,werte){
  2.  wertarray = werte.split(",")
  3.     for(i=0; i<=wertarray.length; i++){
  4.        if(compare == wertarray[i]){
  5.           return true;
  6.             break;
  7.        }
  8.     }
  9. }
  10. vari = elementOf(3,"1,2,3,4");
  11. trace(vari);
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker

Geändert von _geo_ (18-09-2003 um 14:21 Uhr)
_geo_ ist offline   Mit Zitat antworten
Alt 18-09-2003, 15:29   #3 (permalink)
Klugscheisser
 
Registriert seit: Jun 2001
Ort: Düsseldorf
Beiträge: 1.354
Irgendwie wusste ich, dass gerade Du darauf ne Antwort hast

Tja, mit for gehts tadellos... Dickes Danke soweit!


Nur begreif ich immer noch nicht, warum for(in){} nicht geht!
Und wenn es einen sinnvollen Grund gibt, warum geht es dann
mit trace(elementOf(3,"1,2,3,4")); einwandfrei

Geändert von T.Decay (18-09-2003 um 15:35 Uhr)
T.Decay ist offline   Mit Zitat antworten
Alt 19-09-2003, 11:50   #4 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
Wusstest du hast (Hellseher ?)

Das lag nicht an dem trace sondern es gab true zurück weil das array etwas enthielt (bei trace in der functionschleife gibt es 3 mal true aus => überprüft nicht ob 3=3 sondern ob ein inhalt forhanden ist) for (i in object) ferwendet man normalerweise nur um mothode oder anderen objecte oder eigenschaften in einem object aufzulisten (und alle damit verbundenen verarbeitungsmöglichkeiten) zb.: man kann ein object als array missbrauchen (od umgekehrt) und dessen inhalte dann mit for(i in arrayobj) ausgeben lassen aber dass ist dann ur ein kurze form von for(i=0; i <array.length; i++).

Hoffe jetz ist klar warum bei trace true zurück kam und warum der Vergleich nicht mit for i in funktioniert !

mfg geo
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ ist offline   Mit Zitat antworten
Alt 19-09-2003, 12:45   #5 (permalink)
Klugscheisser
 
Registriert seit: Jun 2001
Ort: Düsseldorf
Beiträge: 1.354
Yop! Is klar jetz!
T.Decay 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 03:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele