问题描述
var arr1 = [1,2,3,undefined,4,5];
var arr2 = JSON.parse(JSON.stringify(arr1));
console.log(arr2);
以上代码的输出将是...。
[1,null,5]
为什么要将第4个值从“未定义”转换为“空”?
解决方法
因为undefined
是Java语言类型。 JSON中没有undefined
。
根据the spec:
JSON可以表示四种基本类型(字符串,数字,布尔值和null)和两种结构化类型(对象和数组)。