peterS.: Objekte scannen

Beitrag lesen

gruss Revilo,

ich bastel mir gerade so ´ne Art Minidatabase zurecht, die zwar funktioniert,
aber es gibt da eine Hürde, über die ich irgendwie nicht hinwegkomme.
Im Archiv habe ich auch nichts dazu finden können.

Eintrag = new Array();
Eintrag[1] = new entry("toll","2","3","4","5");
Eintrag[2] = new entry("auch toll","2","3","4","5");
Eintrag[3] = new entry("supertoll","2","3","4","5");

Nach diesem Schema sind die Einträge abgelegt. Wie stelle ich es aber an,
daß bei einem Suchbegriff "toll" alle 3 Einträge wiedergefunden werden,
und nicht nur der erste?

Kann mir da jemand auf die Sprünge helfen?

function Entry() {
      // konstruktor-funktion einer "js-klasse" >>Entry<<;
      ...
      ...
      ...
   }
   var eintrag = new Array();
   eintrag[0] = new Entry("...","...",...);
   eintrag[1] = new Entry("toll","2","3","4","5");
   eintrag[2] = new Entry("auch toll","2","3","4","5");
   eintrag[3] = new Entry("supertoll","2","3","4","5");
   eintrag[4] = new Entry("...","...",...);
   ...
   ...
   ...

function getMatchingCollection(expression) {
      var matchingCollection = new Array();
      var entryObject = null;
      var propertyName = "";
      for (var i=0;i<eintrag.length;i++) {
         entryObject = eintrag[i];
         for (propertyName in entryObject) {
            if (propertyName.indexOf(expression) >= 0) {
               matchingCollection[matchingCollection.length] = entryObject;
            }
            break; // so wie es aussieht muss die for-in-schleife jeweils nur die erste objekt-eigenschaft scannen;
         }
      }
      return ((matchingCollection.length == 0) ? (null) : (matchingCollection));
   }

getMatchingCollection("toll");

by(t)e by(t)e - peterS. - pseliger@gmx.net
--
sh:| fo:) ch:? rl:| br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)