Hallo ebody,
dass deine Objekt-Representation der key-value Paare nicht optimal ist, hat Rolf ja schon geschrieben, ebenso zur Problematik mit der case sensitivity.
Was mir darüber hinaus noch auffällt ist, dass dein Array searchKeyValuePairs
doppelte Einträge enthält. Entspricht das deinen Daten oder oder sind die key-value Paare in Wirklichkeit eindeutig?
Falls du wie in deinem Beispiel doppelte Einträge haben solltest und dann, wie von Rolf vorgeschlagen, filter
auf dem Array searchKeyValuePairs
aufrufen und checken würdest, ob der jeweilige Eintrag in dem Objekt inThisObject
vorhanden ist, würdest du Einträge gegebenenfalls mehrfach zählen, was du vermutlich nicht möchtest.
Für dein konkretes Beispiel würdest du 3 Treffer bekommen, da das Paar (Title, Prometheus) doppelt gezählt wird.
Für diesen Ansatz müsstest du also zunächst sicherstellen, dass die key-value Paare höchstens einmal vorkommen.
Oder du testest anders herum, das heißt, du filterst die Einträge in inThisObject
indem du prüfst, ob der Eintrag in searchKeyValuePairs
enthalten ist.
Viele Grüße,
Matthias