Heim  >  Artikel  >  Web-Frontend  >  Wie erweitere ich ein Objekt mithilfe des Schlüsselpfads in JavaScript?

Wie erweitere ich ein Objekt mithilfe des Schlüsselpfads in JavaScript?

王林
王林nach vorne
2023-08-29 15:09:031299Durchsuche

如何使用 JavaScript 中的键路径展开对象?

In JavaScript können Sie ein Objekt „flachen“, indem Sie eine flache Kopie davon erstellen. Dies ist nützlich, um einen Snapshot eines Objekts zu erstellen, kann jedoch zu Problemen führen, wenn das Objekt später geändert wird. Wenn Sie die Glättung eines Objekts aufheben müssen, können Sie den Pfad des Schlüssels verwenden, um die ursprüngliche Struktur wiederherzustellen.

Verwenden Sie den Schlüsselpfad

Wenn das Objekt reduziert wird, werden die Schlüssel zu einer einzigen Zeichenfolge verkettet. Mit dieser Zeichenfolge können Sie Objekte erweitern, indem Sie Objekte mit denselben Schlüsseln und Werten erstellen.

Betrachten Sie zum Beispiel das folgende Objekt.

var obj = { 
   "foo.bar": "baz", 
   "foo.qux": "quux" 
};

Sie können ein Objekt erweitern, indem Sie ein Objekt mit denselben Schlüsseln und Werten erstellen.

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1">Original Object:</div><br/>
   <div id="result2">After Unflatten:</div>
   <script>
      var obj = {
         "foo.bar": "baz",
         "foo.qux": "quux"
      };
      var unflattenedObj = {};
      for (var key in obj) {
         var value = obj[key];
         var path = key.split(".");
         var current = unflattenedObj;
         for (var i = 0; i < path.length - 1; i++) {
            var part = path[i];
            current[part] = current[part] || {};
            current = current[part];
         }
         current[path[path.length - 1]] = value;
      }
      document.getElementById("result1").innerHTML += JSON.stringify(obj);
      document.getElementById("result2").innerHTML += JSON.stringify(unflattenedObj);
      console.log(unflattenedObj)
   </script>
</body>
</html>

Vorteile der Aufhebung der Abflachung

Das Entflachen eines Objekts kann aus mehreren Gründen nützlich sein. Erstens hilft es Ihnen, doppelte Schlüssel zu vermeiden. Wenn zwei Schlüssel mit demselben Namen vorhanden sind, werden diese beim Reduzieren des Objekts überschrieben. Zweitens hilft es Ihnen, die ursprüngliche Struktur des Objekts zu bewahren. Dies kann wichtig sein, wenn Sie ein Objekt an eine Funktion übergeben müssen, die ein bestimmtes Format erfordert.

Fazit

Das Aufheben der Glättung eines Objekts ist einfach. Erstellen Sie einfach ein Objekt mit denselben Schlüsseln und Werten. Dies ist nützlich, um doppelte Schlüssel zu vermeiden und die ursprüngliche Objektstruktur beizubehalten.

Das obige ist der detaillierte Inhalt vonWie erweitere ich ein Objekt mithilfe des Schlüsselpfads in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen