
在 JavaScript 中,可以通过创建对象的浅表副本来“扁平化”对象。这对于创建对象的快照很有用,但如果稍后修改对象,可能会导致问题。如果需要取消展平对象,可以使用键的路径来恢复原始结构。
当对象被展平时,键将连接成单个字符串。您可以使用此字符串通过创建具有相同键和值的对象来展开对象。
例如,考虑以下对象。
var obj = {
"foo.bar": "baz",
"foo.qux": "quux"
};
您可以通过创建具有相同键和值的对象来展开该对象。
立即学习“Java免费学习笔记(深入)”;
<!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中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号