Reiter: Array durchsuchen

Beitrag lesen

Hallo,

... eine Kniffel-Aufgabe !

Ich möchte per Javascript ein Array "daten" durchsuchen lassen, wobei das Suchwort jeweils der Wert eines Textfeldes ist.

//

var daten = new Array();

daten[0] = new Array("Ziel1.html","Haus Auto Boot");
daten[1] = new Array("Ziel2.html","Pferd");
daten[2] = new Array("Ziel3.html","Auto Apfel Hirn Haus");
daten[3] = new Array("Ziel4.html","Boot Pferd");

//

Ich habe zunächst einen Regulären Ausdruck definiert ...

reg = new RegExp(textfeld.value,"i");

... und lasse über eine for-Schleife und die Methode test() das jeweils zweite Element eines Datensatzes nach dem gesuchten Begriff durchsuchen. Bei Übereinstimmung wird der jeweils erste Element eines Datensatzes - hier eine URL - ausgegeben.

Kurz: zu jeder URL gibt es eine Reihe von Schlagworten, die das Zieldokument beschreiben; diese Aufstellung von Schlagworten soll durchsucht werden können.

Springender Punkt:

Enthält das Textfeld EIN Suchwort (z.B. "Auto") klappt die Suche auch wunderbar:
im Fall "Auto" heißt das: ausgegeben wird korrekt daten[0][0] und daten[2][0].

Enthält das Textfeld MEHRERE Suchwörter (z.B. "Haus Auto"), wird nur daten[0][0] ausgegeben, weil nur hier die beiden Suchwörter in genau der Reihenfolge auftauchen; daten[2][0] wird ignoriert, obwohl hier auch die zwei Suchwörter "Haus" und "Auto" vorkommen - nur in einer anderen Reihenfolge.

Logisch - aber unerwünscht ...

Gibt es eine Möglichkeit, das Array auch nach mehreren Begriffen gleichzeitig zu durchsuchen, ohne das die Reihenfolge der Suchbegriffe dabei eine Rolle spielt ?

Für Ansätze und Vorschläge besten Dank vorab

Mfg Reiter