Bei der JavaScript-Programmierung ist die Manipulation von Objekten ein sehr häufiges Bedürfnis. Oft ist es notwendig, die Namen bestimmter Schlüssel in einem Objekt zu ändern. Während JavaScript viele verschiedene Möglichkeiten zur Manipulation von Objekten bietet, kann das Ersetzen des Schlüssels eines Objekts durch einen neuen Schlüssel eine Herausforderung sein.
In diesem Artikel untersuchen wir einige verschiedene Möglichkeiten, die Schlüssel eines Objekts durch neue Schlüssel in JavaScript zu ersetzen. Wir werden die folgenden Aspekte besprechen:
Was ist Objektschlüsselersetzung?
Objektschlüsselersetzung ist eine Operation, die es uns ermöglicht, den Namen eines bestimmten Schlüssels in einem JavaScript-Objekt zu ändern. Dies ist nützlich, wenn Sie einen Wert aus einem Objekt ermitteln möchten. Wenn Sie beispielsweise Objektdaten über eine API abrufen, müssen Sie möglicherweise die Schlüssel des zurückgegebenen Datenobjekts mit den im lokalen Datenspeicher verwendeten Schlüsseln abgleichen.
So ersetzen Sie Objektschlüssel in JavaScript
Es gibt viele verschiedene Möglichkeiten, Objektschlüssel in JavaScript zu ersetzen. Nachfolgend werden die drei am häufigsten verwendeten Methoden beschrieben.
const obj = { oldName: "value" }; obj.newName = obj.oldName; delete obj.oldName;
Im obigen Codeausschnitt implementieren wir die Objektschlüsselersetzung, indem wir einen neuen Schlüsselnamen erstellen, den Wert des alten Schlüsselnamens kopieren und dann den alten Schlüsselnamen löschen.
const obj = { oldName: "value" }; Object .keys(obj) .forEach(key => { if (key === "oldName") { obj.newName = obj[key]; delete obj[key]; } });
Verwenden Sie Object.keys() lokal, um die Schlüssel vom Objekt abzurufen, und überprüfen Sie dann mit einer if-Anweisung, ob jeder Schlüssel mit dem Namen übereinstimmt, den Sie ändern möchten. Bei Übereinstimmung wird der Wert in den neuen Schlüssel kopiert und der alte Schlüssel gelöscht.
const obj = { oldName: "value" }; const newObj = {}; newObj.newName = obj.oldName; delete newObj.oldName;
Verwenden Sie die Object.assign()-Methode von ES6 zum Ersetzen von Schlüsseln.
Mit der Object.assign()-Methode von ES6 und den verfügbaren Parametern können wir die Aufgabe des Ersetzens von JavaScript-Objektschlüsseln bewältigen. Object.assign() ist eine Methode, die das Quellobjekt in das Zielobjekt kopiert und das Zielobjekt zurückgibt. Daher können wir das Quellobjekt mit dem neuen Schlüssel als Parameter senden, um die Ersetzung zu implementieren.
const obj = { oldName: "value" }; const newObj = Object.assign({}, obj, {newName: obj.oldName}); delete newObj.oldName;
Hier verwenden wir Object.assign(), um ein neues Objekt zu erstellen und das alte Objekt und seine Eigenschaften als Quellobjekt zu verwenden. Verwenden Sie dann den neuen Schlüsselnamen als separates Argument und drücken Sie diesen Namen so aus, dass er mit dem Namen des alten Schlüssels übereinstimmt, den Sie entfernen möchten. Abschließend wird der Schlüsselaustausch durch Löschen des alten Schlüssels abgeschlossen.
Verwenden Sie die Objektdestrukturierungsmethode von ES6, um Schlüssel zu ersetzen.
Die Objektdestrukturierung in ES6 bietet eine weitere Möglichkeit, JavaScript-Objektschlüssel zu ersetzen. Die Objektdestrukturierung ist eine Methode zur Destrukturierung der Eigenschaften eines Objekts in separate Variablen, die neue Namen (Aliasvariablen) haben können. Durch die Verwendung des neuen Schlüssels als Alias können wir durch Löschen des alten Schlüssels den gewünschten Schlüsselersetzungsvorgang generieren.
const obj = { oldName: "value" }; const {oldName:newName, ...newObj} = obj;
Hier deklarieren wir ein neues Objekt und verschieben alle Eigenschaften des betriebenen Objekts durch destrukturierende Zuweisung auf das neue Objekt. Wir aliasen die alten Schlüssel auf das neue Objekt, indem wir „…“ (Spread-Operator) verwenden. Auf diese Weise ermöglicht uns die Destrukturierungssyntax tatsächlich, unserem Zielobjekt einen neuen Namen für jeden Zielschlüssel zu geben (einen sogenannten Alias).
Verwenden Sie die Methoden Object.entries() und Object.fromEntries() zum Ersetzen von Schlüsseln
Object.entries() und Object.fromEntries() sind die neuesten Technologien, die in ES2019 eingeführt wurden. Diese Methoden machen es sehr einfach, den Objektschlüsselaustausch durchzuführen.
const obj = { oldName: "value" }; const newObj = Object.fromEntries( Object.entries(obj) .map(([k, v]) => [k === "oldName" ? "newName" : k, v]) );
Hier verwenden wir die Methode Object.entries(), um die Liste der Schlüssel-Wert-Paare des Objekts abzurufen. Wir transformieren diese Liste mit der Methode map(), ersetzen die alten Schlüssel durch neue Schlüssel, wenn sie übereinstimmen, und fügen dann jedes neue Schlüssel-Wert-Paar einem neuen Objekt hinzu. Konvertieren Sie die konvertierte Liste von Elementen mit der Methode Object.fromEntries() in ein neues Schlüssel-Wert-Paar-Objekt.
Fazit
Das Ersetzen von Objektschlüsseln kommt bei der Arbeit mit JavaScript-Objektdaten sehr häufig vor. Wir haben gesehen, dass JavaScript verschiedene Möglichkeiten bietet, dies über die Ersetzung von JavaScript-Objektschlüsseln zu erreichen. Mit den Standardmethoden von ES6 ist es einfach, Schlüssel in JavaScript-Objekten zu löschen und umzubenennen. Hierzu können wir die Methode Object.assign(), Objektdestrukturierung, Object.keys() und Object.entries() verwenden. Diese Strategien zielen alle auf maximale Leistung, Benutzerfreundlichkeit und Lesbarkeit ab.
Das obige ist der detaillierte Inhalt vonJavaScript ersetzt den Schlüssel des Objekts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!