„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich eine zufällige Eigenschaft aus einem JavaScript-Objekt präzise auswählen?

Wie kann ich eine zufällige Eigenschaft aus einem JavaScript-Objekt präzise auswählen?

Veröffentlicht am 07.11.2024
Durchsuche:334

How can I select a random property from a JavaScript object concisely?

Eine zufällige Eigenschaft aus einem JavaScript-Objekt präzise auswählen

In JavaScript sind Objekte Schlüssel-Wert-Paare, die in einer Hash-Tabelle gespeichert sind. Um eine bestimmte Eigenschaft von einem Objekt abzurufen, muss der genaue Eigenschaftsschlüssel bekannt sein. Manchmal kann es jedoch wünschenswert sein, eine zufällige Eigenschaft eines Objekts auszuwählen.

Ein üblicher Ansatz besteht darin, die Eigenschaften des Objekts zu durchlaufen, sie zu zählen und dann eine zufällige Ganzzahl innerhalb dieses Bereichs zu generieren. Bei diesem Ansatz würden Sie das Objekt einmal durchlaufen, um die Länge zu bestimmen, und dann erneut iterieren, um die Zufallseigenschaft an diesem Index zu finden.

Es gibt jedoch einen prägnanteren und oft schnelleren Weg, dieses Ziel zu erreichen:

var randomProperty = function (obj) {
    var keys = Object.keys(obj);
    return obj[keys[ keys.length * Math.random() << 0]];
};

Dieser Ansatz verwendet die Methode Object.keys(), die ein Array aller Eigenschaftsschlüssel im Objekt zurückgibt. Indem wir die Länge dieses Arrays mit einem Zufallswert kleiner als 1 multiplizieren (mittels Bitverschiebung), erhalten wir einen zufälligen Index innerhalb des Arrays. Die Indizierung des Arrays mit diesem Zufallsindex liefert den ausgewählten Eigenschaftsschlüssel. Schließlich wird durch den Zugriff auf das Objekt mit diesem Schlüssel der zugehörige Eigenschaftswert abgerufen.

Diese Methode ist prägnanter und führt häufig schneller als iterative Ansätze aus, weshalb sie die bevorzugte Wahl für die Auswahl einer zufälligen Eigenschaft aus einem JavaScript-Objekt ist.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3