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

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

王林
Freigeben: 2023-08-29 15:09:03
nach vorne
1328 Leute haben es durchsucht

如何使用 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" 
};
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage