JSON.parse(JSON.stringify(data))

问下JSON.parse(JSON.stringify(data))是什么情况下要用

阅读 6.9k
4 个回答

一般用来深拷贝一个json对象吧,还可以用来去除值不具有JSON 表示形式(数字、字符串、逻辑值、数组、对象、null)的属性,也就是说像undefined和function这样的属性值。

a: {
    age: 1,
    name: undefined,
    time: () => {...}
}
变成:
b: {
    age: 1
}

可以复制对象

二种使用场景:
1.将JSON字符串转换为JSON对象,JS直接属性引用
2.Clone对象

新手上路,请多包涵

可以用于拷贝对象。但是,要注意,受限于JSON接受的数据类型,JSON可接受数字、字符串、对象和数组。多级拷贝此方案是不可行的。另外,JSON.parse和JSON.stringify(),除了接受数据作为第一参数,还可接受数组或者函数作为第二个参数。JSON.stringify()还可接受第三个参数。这些内容高级程序设计里面都有的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题