javascript - 使用 JSON.parse 和 JSON.stringify 克隆 JS 数组后,为什么数组的 "undefined"值转换为 "null"?

标签 javascript arrays clone

var arr1 = [1, 2, 3, undefined, 4, 5];
var arr2 = JSON.parse(JSON.stringify(arr1));
console.log(arr2);

上述代码的输出将是......

[1, 2, 3, null, 4, 5]

为什么它将第四个值从“未定义”转换为“null”?

最佳答案

因为undefined是一种Javascript类型。 JSON 中没有 未定义

根据the spec :

JSON can represent four primitive types (strings, numbers, booleans, and null) and two structured types (objects and arrays).

关于javascript - 使用 JSON.parse 和 JSON.stringify 克隆 JS 数组后,为什么数组的 "undefined"值转换为 "null"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63451729/

相关文章:

javascript - 递归 JavaScript : child->parent relationship

c# - 如何使用 Ajax Control Toolkit (CalendarExtender) 验证字符串日期?

javascript - 根据优先参数为客人安排座位

javascript - 对 filter() 函数感到困惑,我需要深入的解释

mysql - WordPress 克隆未在 Web Matrix 2 上运行

javascript - jQuery 触发器在克隆后不触发

javascript - 如何在 hashbang 之后获取前端查询参数(就像在谷歌搜索中一样)?

javascript - 将相邻的行组合成一个数组

java - 在 Cygwin 中添加 JSON 作为 HTTP PUT 请求中的消息正文?

php - 克隆 div 并逐步重命名元素 ID