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?
Sie könnten map()
und keys()
verwenden, um Schlüssel für jedes Objekt und dann union()
und flatten()
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%
Alternativ können Sie die Schlüssel in einem neuen Objekt speichern und einfach die Schlüssel extrahieren:
%Vor%
Tags und Links javascript angularjs arrays object lodash