Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-11-2005, 19:04   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 60
Question Arrays durchsuchen

Hi,

ich habe vollgendes Problem:

ich habe ein array mit verschiedenen werten:

array[0] = "blabla"
array[1] = "blablabla"
array[2] = "blablablabla"

jetz will ich wissen ob das array den Wert "blabla" enthält, deswegen hab ich vollgendes gemacht:

onEnterFrame = function(){
counter += 1;
if (array[counter] == "blabla"){
trace("ok")
}
}

(das war jetz nur so grob dargestellt)

Aber durch den "Counter" dauert es, je nach dem wie viele werte das array enthält, seine Zeit bis der Wert gefunden wurde.

Deshalb lautet meine Frage: Gibt es auch einen "besseren" Weg um den Wert im Array zu finden?
markus_theReal ist offline   Mit Zitat antworten
Alt 30-11-2005, 19:07   #2 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338


Jo, am besten du nimmst eine Schleife:
PHP-Code:
function arrayContains(haystackneedle) {
    var 
i;
    var 
haystack.length;
    
    for (
0li++) {
        if (
haystack[i] == needle) {
            return 
true;
        }
    }
    
    return 
false;
}


// Einsatz:
= ["a""b"];

trace("a: " arrayContains(a"a"));
trace("c: " arrayContains(a"c")); 
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)

Geändert von Janoscharlipp (30-11-2005 um 19:17 Uhr)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 30-11-2005, 19:08   #3 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
die frage ist zu doof, denn wenn man schon weiß was ein array ist, wird man doch von einer schleife schon was gehört haben, sorry

gruß
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 30-11-2005, 19:48   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 60
Zitat:
Zitat von artjom
die frage ist zu doof, denn wenn man schon weiß was ein array ist, wird man doch von einer schleife schon was gehört haben, sorry

gruß
ja hast schon recht..is ja auch easy aber hab mich damit bisher noch nicht wirklich beschäftigt
markus_theReal ist offline   Mit Zitat antworten
Alt 05-12-2005, 09:59   #5 (permalink)
Freak
 
Benutzerbild von Pixelflow
 
Registriert seit: Mar 2004
Ort: Germany, Hessen, Frankfurt
Beiträge: 37
Question

Hey Leute,

hab noch ne Frage zu der Funktion:

Wenn ich jetzt in dem Array nicht mit Strings, sondern mit Zahlen arbeite ergibt sich folgendes Problem:

Code:
// Einsatz:
a = new Array (12, 5, 2, 3, 1, 22);
trace("2: " + arrayContains(a, "2"));

// Rückgabe: 2: true
Jetzt stimmt das ja nur insofern, dass die Zahl 2 zwar in dem Array vorhanden ist, aber eben nicht als eigenständige Zahl. Jemand ne Idee, wie ich das umbauen kann, dass er mir nur "true" zurückgibt, wenn die Zahl als eigenständiger Wert eines Arrays enthalten ist?

Danke schon mal!

Greetz
Pixelflow

[EDIT]
Hat sich erledigt

Geändert von Pixelflow (05-12-2005 um 10:08 Uhr)
Pixelflow ist offline   Mit Zitat antworten
Alt 05-12-2005, 10:12   #6 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Jo, bei mir tut das wie's soll! Allerdings, wenn du als Wert ne Zahl übergeben willst, dann nimm mal die Anführungszeichen weg! Die sind nur für Strings! Zahlen übergibst du ohne! Also so:

PHP-Code:
trace("2: " arrayContains(a2)); 
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha 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 12:59 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele