我是靠谱客的博主 美满小土豆,最近开发中收集的这篇文章主要介绍JSON.stringify的作用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

是一个用于序列化对象的方法

接受三个参数: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的作用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部