在 JavaScript 中,可以透過建立物件的淺表副本來「扁平化」物件。這對於創建對象的快照很有用,但如果稍後修改對象,可能會導致問題。如果需要取消展平對象,可以使用鍵的路徑來恢復原始結構。
當物件被展平時,鍵將連接成單一字串。您可以使用此字串透過建立具有相同鍵和值的物件來展開物件。
例如,考慮以下物件。
var obj = { "foo.bar": "baz", "foo.qux": "quux" };
您可以透過建立具有相同鍵和值的物件來展開該物件。
<!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>
出於多種原因,取消展平物件可能很有用。首先,它可以幫助您避免重複的密鑰。如果有兩個同名的鍵,當物件被展平時它們將被覆蓋。其次,它可以幫助您保留物件的原始結構。當您需要將物件傳遞給需要某種格式的函數時,這可能很重要。
取消展平物件很簡單,只需建立具有相同鍵和值的物件即可。這對於避免重複鍵和保留原始物件結構很有用。
以上是如何使用 JavaScript 中的鍵路徑展開物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!