502 Stimmen

Array der Schlüssel des Objekts abrufen

Ich möchte die Schlüssel eines JavaScript-Objekts als Array erhalten, entweder in jQuery oder reinem JavaScript.

Gibt es einen weniger ausführlichen Weg als diesen?

var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };
var keys = [];
for (var key in foo) {
    keys.push(key);
}

5voto

Willem van der Veen Punkte 26043

Zusammenfassung

Um alle Schlüssel eines Objekts zu erhalten, können Sie Object.keys() . Object.keys() nimmt ein Objekt als Argument und gibt ein Array mit allen Schlüsseln zurück.

Exemple :

const object = {
  a: 'string1',
  b: 42,
  c: 34
};

const keys = Object.keys(object)

console.log(keys);

console.log(keys.length) // we can easily access the total amount of properties the object has

Im obigen Beispiel speichern wir ein Array von Schlüsseln in der keys const. Wir können dann leicht auf die Anzahl der Eigenschaften des Objekts zugreifen, indem wir die Länge des keys-Arrays überprüfen.

Erhalten Sie die Werte mit: Object.values()

Die ergänzende Funktion von Object.keys() es Object.values() . Diese Funktion nimmt ein Objekt als Argument und gibt ein Array von Werten zurück. Zum Beispiel:

const object = {
  a: 'random',
  b: 22,
  c: true
};

console.log(Object.values(object));

2voto

Ondra Žižka Punkte 39898

Das Jahr 2022 und JavaScript hat immer noch keine vernünftige Methode, um mit Hashes zu arbeiten?

Dies führt zu einer Warnung, funktioniert aber:

Object.prototype.keys = function() { return Object.keys(this) }
console.log("Keys of an object: ", { a:1, b:2 }.keys() )

// Keys of an object:  Array [ "a", "b" ]
// WARN: Line 8:1:  Object prototype is read only, properties should not be added  no-extend-native

Davon abgesehen, Die Erweiterung von eingebauten Objekten ist umstritten .

0voto

Wenn Sie sich für die Verwendung von Underscore.js entscheiden, sollten Sie Folgendes tun

var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };
var keys = [];
_.each( foo, function( val, key ) {
    keys.push(key);
});
console.log(keys);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X