概述
是一个用于序列化对象的方法
接受三个参数:json.stringify(value,replacer,space)
第一个参数:value表示要被序列化的对象(接受对象或数组类型)
第二个参数:replacer表示对象中要序列化的属性(接受数组和函数类型)
第三个参数:space用于描述序列化后的缩进字符数,用于美化格式
面试(应用场景):
场景一:localStorage存储
loaclStorage只能存储字符串的存储类型 是键值对的格式
例:const obj={a:'1',b:'2'}
localStorage.setItem('key',obj)
localStorage.getItem('key') //'[object Object]' 存储失败
解决:使用localStorage.stringify()
localStorage.setItem('key',JSON.stringify(obj))
localStorage.getItem('key') //'{"a":"1","b":"2"}'存储成功
JSON.parse(localStorage.getItem('key')) //{a:'1',b:'2'}再利用JSON.parse()提取出来
场景二:对象的深拷贝
例:let arr={a:'1',b:'2'}
let arr2=arr
arr2.a='111'
console.log(arr.a)//'111'
解决:利用JSON.stringify和JSON.parse给对象做深拷贝
let arr3=JSON.stringify(JSON.parse(arr))
arr3.b='2222'
console.log(arr.b)//'2'
场景三:删除对象属性
方法1:delete方法删除
let obj={a:'1',b:'2'}
delete obj.a
log(obj)//{b:'2'}
方法2:利用JSON.stringify()的第二个参数进行删除
let obj = { a: "1", b: "2" };
let obj1 = JSON.parse(
JSON.stringify(obj, (key, value) => {
if (key === "b") {
return undefined;
} else {
return value;
}
})
);
console.log(obj1); //{a:'1'}
或:
let obj = { a: "1", b: "2" };
let obj1 = JSON.parse(
JSON.stringify(obj,['b'])
);
console.log(obj1); //{a:'1'}
最后
以上就是美满小土豆为你收集整理的JSON.stringify的作用的全部内容,希望文章能够帮你解决JSON.stringify的作用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复