Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-05-2005, 16:52   #1 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
indexOf mit mehreren Abfragen

Hi

Ich würd gern einen String nach verschiedenen Wörtern zu durchsuchen.
Mein Versuch bisher:
ActionScript:
  1. function str_search(sear_string)
  2. {
  3.     if((String(sear_string).indexOf("BLITZKRIEG" || "DARKANE") != -1)){
  4.         return 0xD8AA50;
  5.         } else {
  6.             return 0xFFFFFF
  7.             }
  8. }

Funktionieren tut das aber nicht. Folgendes funktioniert, wie ich es mir vorstelle:
ActionScript:
  1. function str_search(sear_string)
  2. {
  3.     if((String(sear_string).indexOf("BLITZKRIEG") != -1) || (String(sear_string).indexOf("DARKANE") != -1)){
  4.         return 0xD8AA50;
  5.         } else {
  6.             return 0xFFFFFF
  7.             }
  8. }

Nur möchte ich nicht jedesmal die komplette Zeile mit "oder" verknüpfen, sondern nur das zu suchende Wort.

Hat jemand vielleicht eine Lösung?

Danke schonmal
Alex_R ist offline   Mit Zitat antworten
Alt 25-05-2005, 17:55   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Schreib die Suchbegriffe halt in ein Array und durchlauf das in ner Schleife...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 25-05-2005, 20:39   #3 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
Wie macht man sowas? Kannst du mir dafür ein beispiel geben?
Alex_R ist offline   Mit Zitat antworten
Alt 25-05-2005, 21:15   #4 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
ActionScript:
  1. function str_search(sear_string)
  2. {
  3. var index_arr = new Array( 'BLITZKRIEG', 'DARKANE' );
  4. var found = false;
  5.  
  6. for ( var i in index_arr )
  7. {
  8. if ( String( sear_string ).indexOf( index_arr[i] ) != -1 )
  9. {
  10. found = true;
  11. }
  12. }
  13.  
  14. return ( found ? '0xD8AA50' : '0xFFFFFF' );
  15. }
pokepika ist offline   Mit Zitat antworten
Alt 25-05-2005, 21:53   #5 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
Ahhh! Interessant!

Also kann ich mit index_arr[3] die dritte Stelle eines Arrays auslesen? Mit index_arr[4] die vierte und so weiter...?

Was ich nur noch nicht checke. Wozu brauche ich die Variable "found"? Kann ich es nicht auch so machen:
ActionScript:
  1. function str_search(sear_string)
  2. {
  3.         var index_arr = new Array( 'BLITZKRIEG', 'DARKANE' );
  4.         var found = false;
  5.        
  6.         for ( var i in index_arr )
  7.         {
  8.                 if ( String( sear_string ).indexOf( index_arr[i] ) != -1 )
  9.                 {
  10.                         return 0xD8AA50;
  11.                 } else {
  12. return 0xFFFFFF
  13. }
  14.         }
  15. }
Oder was genau macht den diese Zeile:
ActionScript:
  1. return ( found ? '0xD8AA50' : '0xFFFFFF' );
Alex_R ist offline   Mit Zitat antworten
Alt 25-05-2005, 22:46   #6 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
nein, das kannst du nicht machen, du könntest das aber so machen:

ActionScript:
  1. function str_search(sear_string)
  2. {
  3. var index_arr = new Array( 'BLITZKRIEG', 'DARKANE' );
  4.  
  5. for ( var i in index_arr )
  6. {
  7. if ( String( sear_string ).indexOf( index_arr[i] ) != -1 )
  8. {
  9. return '0xD8AA50';
  10. }
  11. }
  12. return '0xFFFFFF';
  13. }

die Zeile

ActionScript:
  1. return ( found ? '0xD8AA50' : '0xFFFFFF' );

entspricht dem folgenden code:
ActionScript:
  1. if ( found )
  2. {
  3. return '0xD8AA50';
  4. }
  5. else
  6. {
  7. return '0xFFFFFF';
  8. }
dadurch erklärt sich das sicher von selbst.


ps. Array-Indizes (die Zahlen in den [ ]) beginnen immer bei 0. Also ist
ActionScript:
  1. index_arr[0] == 'BLITZKRIEG';
  2. index_arr[1] == 'DARKANE';
pokepika ist offline   Mit Zitat antworten
Alt 26-05-2005, 12:13   #7 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Ich würds noch ein bißchen aufteilen, etwa so:

ActionScript:
  1. function do_str_search(sear_string, index_arr) {
  2.     for (var i in index_arr) {
  3.         if (sear_string.indexOf(index_arr[i]) != -1) {
  4.             return true;
  5.         }
  6.     }
  7.     return false;
  8. }
  9.  
  10. function str_search( sear_string){
  11.     if( do_str_search( String(sear_string), new Array('BLITZKRIEG', 'DARKANE')){
  12.         return 0xD8AA50;
  13.     } else {
  14.         return 0xFFFFFF;                                      
  15.     }
  16. }

Auf die Art kannst du die Funktion do_str_search auch noch für was anderes benutzen.

mfg. r.

Geändert von bokel (27-05-2005 um 19:08 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 30-05-2005, 08:19   #8 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
Sorry das ich mich erst jetzt melde, hatte ein paar Tage kein Internet.

Vielen Dank für die Hilfe ihr habt mir echt weitergeholfen, vorallem was das Verständniss für Funktionen angeht.

Merci
Alex_R 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 15:55 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele