Durchläuft ein Array von Objekten, um ein Objekt mit übereinstimmender Eigenschaft zu finden

7

Ich habe 1 Array, eins mit einer Liste aller meiner Benutzer mit eindeutigen IDs. Ich habe ein Objekt, das eine ausgewählte Gruppeninformation enthält. Ein Teil dieser Informationen ist die Eigentümer-ID. Ich versuche herauszufinden, wie bekomme ich die Informationen des Benutzers gegeben, die Eigentümer ID der Gruppen? Zum Beispiel hat das Schülergruppenobjekt eine Besitzer-ID von 70, es gibt einen Benutzer auf meinen Seiten, dessen ID 70 ist ... wie kann ich sie abgleichen?

%Vor%     
Batman 29.01.2014, 16:40
quelle

6 Antworten

18

Sie müssen durch users :

gehen %Vor%

Oder Sie könnten Array.filter() : %Vor%     

Elliot Bonneville 29.01.2014, 16:45
quelle
6

In ECMAScript 6 können Sie die systemeigene Methode Array.find verwenden :

%Vor%

Da im Moment nur der neueste Firefox unterstützt wird, könnten Sie eine Bibliothek wie underscore.js verwenden:

%Vor%

... oder Sie könnten einen Wrapper für die etwas weniger aktuelle % verwenden. co_de% Methode :

%Vor%

Wenn Sie jedoch ein Skript verwenden möchten, das ältere Browser unterstützt, ohne Bibliotheken zu verwenden, benötigen Sie eine for-Schleife:

%Vor%     
Barney 29.01.2014 16:53
quelle
3

Sehen Sie sich Underscore.js an, um dies wie folgt zu trivialisieren:

%Vor%

Natürlich könnten Sie eine Variable übergeben, die wie folgt aussieht:

%Vor%     
swornabsent 29.01.2014 16:45
quelle
1

Sie könnten einfach das Array durchlaufen, um dem zu entsprechen:

%Vor%     
Ezequiel 29.01.2014 16:47
quelle
1

Wenn Sie mit vorhandenen Javascript-Objekten arbeiten müssen, ist eine Brute-Force-Lösung die einzige Option:

%Vor%

Je nachdem, wie Sie es verwenden, ist es möglicherweise effizienter, Ihr erstes Objekt so zu strukturieren, dass Sie direkt auf eine Eigenschaft zugreifen können:

%Vor%     
Jason P 29.01.2014 16:55
quelle
0

Sie können auch Array.prototype.some verwenden, um alle Objekteigenschaften zu vergleichen, um zu sehen, ob sie gleiche Werte enthalten.

%Vor%     
Mike T 15.09.2016 15:03
quelle

Tags und Links