Nehmen wir an, ich habe eine riesige (1000) Liste der Objekte wie folgt aus:Was ist der beste Weg, um eine Liste von JSON-Objekten in JavaScript zu filtern?
[{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
Ich möchte namentlich diese Liste filtern (Zeichen weise).
filter('j') => [{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
filter('jo') => [{name: 'john dow', age: 38, gender:'m'}, ..]
filter('dow') => [{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
Was ist die höchste Leistung, dies zu tun? RegEx ist natürlich einer der Schlüssel, die Liste vorher zu ordnen, wenn man davon ausgeht, dass Benutzer in der Regel dazu neigen, Namen von Anfang an zu starten, mag auch eine gute Idee sein, hilft aber nur in einigen Fällen.
Gibt es JavaScript-integrierte Funktionen zum Zuordnen eines Filters? Ich würde erwarten, dass diese schneller als JavaScript-Implementierungen sind.
S.S .: Ja Ich möchte auf Client-Seite wegen "Offline-Funktionen" filtern, die ich anbieten möchte.
Eigentlich, wenn sie Objekte in JavaScript sind, sind sie nicht mehr JSON. "JSON" ist * nur * die Notation, die verwendet wird, um diese Information über das Netzwerk zu übertragen (oder möglicherweise zu speichern). Innerhalb eines JavaScript-Programms sind sie einfach "JavaScript-Objekte" (es sei denn, Sie sprechen von einem String, der * die codierten JSON-Daten * enthält. In diesem Fall sollten Sie sie in JavaScript-Objekte konvertieren, bevor Sie damit weiterarbeiten). –
Was ist, wenn Sie nach "ohn" suchen? –
@JoachimSauer hast du recht ..Ich habe das behoben;) Filter ('ohn') => [{Name: 'John Dow', Alter: 38, Geschlecht: 'm'}, ..] – wzr1337