Alle eindeutigen Objekteigenschaften aus einem Array von Objekten abrufen

7

Stellen wir uns vor, ich hätte ein Array von Objekten, z. B.

%Vor%

Ich möchte alle eindeutigen Eigenschaftsnamen von diesem Array von Objekten erhalten, daher lautet das Ergebnis:

%Vor%

Wie kann ich das tun?

Ich kann mir vorstellen, dass dies mit so etwas möglich ist:

%Vor%

Warum ich es brauche:

Ich muss eine Tabelle mit mehreren Objekten erstellen. Da jedes Objekt ein bisschen anders sein kann, brauche ich eindeutige Eigenschaftsnamen. Allerdings werde ich es in angularJS tun, so ist es eine schlechte Option für mich, einmal zu verwenden, um Eigenschaftsnamen für <th> zu erhalten und erneut Schleife mit <tr ng-repeat></tr> zu verwenden, um Werte anzuzeigen.

Was ich will:

Gibt es eine Option, um alle eindeutigen Eigenschaftennamen von einem Array von Objekten zu erhalten, ohne sie zu durchlaufen? Vielleicht etwas lodash oder bauen in JS Funktion, die ich nicht kenne?

    
Andurit 31.08.2016, 11:41
quelle

6 Antworten

12

Eine Lösung, die nur verwendet:

%Vor%
    
user3297291 31.08.2016, 12:03
quelle
4

Sie könnten map() und keys() verwenden, um Schlüssel für jedes Objekt und dann union() und flatten()

zurückzugeben

%Vor% %Vor%
    
Nenad Vracar 31.08.2016 11:53
quelle
3

Ich glaube nicht, dass Sie davon abkommen können, jeden Schlüssel in jedem Objekt zu überprüfen. Sie können dies beispielsweise mit reduzieren erreichen:

%Vor%

%Vor% %Vor%

Alternativ können Sie die Schlüssel in einem neuen Objekt speichern und einfach die Schlüssel extrahieren:

%Vor%

%Vor% %Vor%
    
Tholle 31.08.2016 11:50
quelle
1

Sie können das auch versuchen:

%Vor%     
Dhananjaya Kuppu 31.08.2016 12:03
quelle
1

Sie können dies verwenden:

%Vor%

%Vor%
    
Rachid 31.08.2016 12:00
quelle
1

Meine Lösung ohne Bibliothek.

%Vor%

ERGEBNIS

%Vor%     
Ved 31.08.2016 12:08
quelle