gpt4 book ai didi

javascript - 为什么 JSON.stringify 不在输出 JSON 对象中包含数组?

转载 作者:行者123 更新时间:2023-11-28 17:43:21 25 4
gpt4 key购买 nike

如果我在浏览器中打开它:

<!DOCTYPE html>
<html>
<head>
<title>Testing stringify</title>
</head>
<body>
<script>
var obj = {};
var arr = [];
arr.push(1,2);
alert(arr); // 1,2
Object.defineProperty(obj, "name", {
value:arr
});
alert(obj.name); // 1,2
alert(JSON.stringify(obj)); // {}
</script>
</body>
</html>

它会输出我在评论中写的内容。我不明白为什么 arr 不包含在输出 JSON 字符串中。我是否需要在 defineProperty() 中为描述符对象定义一些其他属性?我做错了什么?

最佳答案

您创建的属性是不可枚举的。在描述符中设置 enumerable: true 即可工作。

var obj = {};
var arr = [];
arr.push(1, 2);
console.log(arr); // 1,2
Object.defineProperty(obj, "name", {
value: arr,
enumerable: true,
});
console.log(obj.name); // 1,2
console.log(JSON.stringify(obj)); // {}

关于javascript - 为什么 JSON.stringify 不在输出 JSON 对象中包含数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47415675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com