阅读 339

JSON.stringify()转换后包含值为undefined数据丢失的问题

最近开发的时候碰到个问题,使用JSON.stringify()转换数据时,如果对象里面的值是undefined,这个值会丢失,

let arr=[] let obj={a:1,b:2} for(let i=0;i<10;i++){     arr.push(obj) } arr.forEach(item=>item.d=undefined) console.log(arr[0]) //{a: 1, b: 2, d: undefined} console.log(JSON.stringify(arr[0])) //{"a":1,"b":2} 复制代码

然后就去看了下json.stringify的转换原理

并不是所有的数据类型的转换JSON都是支持的,因此部分不支持的就会被忽略掉,比如undefined

JSON.stringify(null) //'null' JSON.stringify(true) //'true' JSON.stringify(undefined) //undefined JSON.stringify(function(){}) //undefined JSON.stringify(NaN) //'null'


作者:可可不喝Coco
链接:https://juejin.cn/post/7024008267449761805


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐