JavaScript: In einem Array suchen?
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
array
ausgegebenen elemente
auto
beispiel
code
durchsuchen
eigene funktion
eingabe
eingegeben wort
element
falle
helfen
idee
leistung
problem
suchen
tag
tausend
teil
treffer
-
Ich will tag/auto">auto-vervollständigen für meine eingabefelder auf der website programmieren, scheitere aber gerade daran, die eingabe, z.B. abc in einem array zu suchen, das z.B. aus "abcdef" und "ghhabcjsh" besteht (nur beispiele). Ich habe jetzt zum Beispiel diese beiden Elemente im Array. nun möchte ich, dass javascript in dem array nach abc sucht (=eingabe des benutzers) und dann alle treffer ausgibt, in diesem falle also beide elemente aus dem array, aber z.B. nicht das element "bacdghen" des arrays, falls es dieses auch gibt.
Wie kann man das lösen? (Die ausgegebenen elemente sollen später zum auto-vervollständigen genutzt werden)
Beitrag zuletzt geändert: 1.5.2010 15:41:08 von tropa-graciosa -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
selbiges problem hatte ich heute auch bereits, nur brauchte ich alle smilies deren tag mit den eingegeben wort(-teil) übereinstimmt =D
ich habs folgendermaßen gelöst:
<script type="text/javascript"> smilies = Array( Array("smilie_1","*tröst*",Array("traurig","trösten","aufmuntern")), Array("smilie_2","*^^'*",Array("^^","fröhlich","happy","glücklich")), Array("smilie_3",":'-(",Array(":(","traurig","weinen","unglücklich")) ); function search_smilies(string){ var ergebniss = new Array(); for(i=0;i<smilies.length;i++){ for(j=0;j<smilies[i][2].length;j++){ if(smilies[i][2][j].search(string) != -1){ ergebniss.push(i); //ergebnisse werden in array gespeichert (zur weiterverarbeitung) } } } for(a=0;a<ergebniss.length;a++){ alert(smilies[ergebniss[a]][0]); //ausgeben der ergebniss arrays } } search_smilies("glücklich"); </script>
ich hoffe das konnte dir helfen ;) -
Jop danke, die Idee hatte ich auch so ähnlich, das Problem ist halt, dass ich irgendwie das gefühl habe, dass das zu lange dauert, das in einem langen array zu suchen ... Oder dauert das nicht zu lange?
-
nun ja, das kommt ganz auf die leistung des client-pc's drauf an, bei aktuellen pc's is das auf jeden fall kein problem (außer es sind arrays mit tausenden einträgen), auch ältere pc's schaffen das noch leicht,, möglich das es kurz hängt, aber es sollte schaffbar sein ;)
das problem bei js und arrays ist das es keine eigene funktion zum durchsuchen gibt, also bleibt einem eh nur die schleifen lösung übrig ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage