Baseline Widely available
Die statische Methode Object.keys()
gibt ein Array der eigenen aufzählbaren, mit String-Schlüssel versehenen Eigenschaftsnamen eines gegebenen Objekts zurück.
const object = {
a: "some string",
b: 42,
c: false,
};
console.log(Object.keys(object));
// Expected output: Array ["a", "b", "c"]
Syntax Parameter Rückgabewert
Ein Array von Strings, die die eigenen aufzählbaren, mit String-Schlüssel versehenen Eigenschaftenschlüssel des gegebenen Objekts darstellen.
BeschreibungObject.keys()
gibt ein Array zurück, dessen Elemente Strings sind, die den aufzählbaren, mit String-Schlüssel versehenen Eigenschaftsnamen entsprechen, die direkt auf dem object
gefunden werden. Dies ist das Gleiche wie das Iterieren mit einer for...in
Schleife, mit dem Unterschied, dass eine for...in
Schleife auch Eigenschaften in der Prototyp-Kette aufzählt. Die Reihenfolge des von Object.keys()
zurückgegebenen Arrays ist die gleiche wie die, die von einer for...in
Schleife bereitgestellt wird.
Wenn Sie die Eigenschaftswerte benötigen, verwenden Sie stattdessen Object.values()
. Wenn Sie sowohl die Eigenschaftsschlüssel als auch die Werte benötigen, verwenden Sie stattdessen Object.entries()
.
// Basic array
const arr = ["a", "b", "c"];
console.log(Object.keys(arr)); // ['0', '1', '2']
// Array-like object
const obj = { 0: "a", 1: "b", 2: "c" };
console.log(Object.keys(obj)); // ['0', '1', '2']
// Array-like object with random key ordering
const anObj = { 100: "a", 2: "b", 7: "c" };
console.log(Object.keys(anObj)); // ['2', '7', '100']
// getFoo is a non-enumerable property
const myObj = Object.create(
{},
{
getFoo: {
value() {
return this.foo;
},
},
},
);
myObj.foo = 1;
console.log(Object.keys(myObj)); // ['foo']
Wenn Sie alle mit String-Schlüssel versehenen eigenen Eigenschaften, einschlieÃlich nicht aufzählbarer, wünschen, siehe Object.getOwnPropertyNames()
.
Nicht-Objekt-Argumente werden zu Objekten gezwungen. undefined
und null
können nicht zu Objekten gezwungen werden und werfen sofort einen TypeError
. Nur Strings können eigene aufzählbare Eigenschaften haben, während alle anderen Primitiven ein leeres Array zurückgeben.
// Strings have indices as enumerable own properties
console.log(Object.keys("foo")); // ['0', '1', '2']
// Other primitives except undefined and null have no own properties
console.log(Object.keys(100)); // []
Hinweis: In ES5 führte das Ãbergeben eines Nicht-Objekts an Object.keys()
zu einem TypeError
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4