• json参数以及优化加速


    1. JSON参数

      1. JSON.stringify()

        1. 语法

         JSON.stringify(value, [, replace[, space]])
        1. 参数说明

          value: 对象或者数组

          replace: 可选,

           1. 函数,调用函数处理成员的键值。返回undefined则排除成员。根对象的键是一个空字符串:""
          1. 数组,转换数组中具有键值的成员,当value也为数组,忽略此值。

        2. space: 可选,文本添加缩进、空格、换行符。<10,最大10个空格。可使用’ ‘

    例子

     var obj = { "name":"junjia", "sex":1, tel: 110, address: '植村'};
     var darr = ["name","tel"]
     JSON.stringify(obj, darr) // 过滤只拿到name的值 '{"name":"runoob"}'
     JSON.stringify(obj, darr, 2) // '{
      "name": "runoob"
    }'
     function fn(prop, value) {
         // 1. this
         // console.log(this)
         // var json = this[""]
         // console.log(json)
         
         // 2. 遍历对象
         console.log(prop)
         console.log(value)
         if(prop == 'address') return; // 过滤掉住址
         return value; // 必须返回value值
     }
     JSON.stringify(obj, fn)

    优化加速

    常用库

    1. fast-json-stringify

    2. slow-json-stringify

    原理理解,性能比较

     console.time()
     var obj = { "name":"junjia", "sex":1, tel: 110, address: '植村'};
     JSON.stringify(obj)
     console.timeEnd() // default: 0.015869140625ms
     ​
     // 已知数据结构,定制结构
     优化原理
     1. 需要先确定对象的结构信息;
     2. 信息,为该种结构的对象创建“定制化”的stringify方法,其内部实际是通过字符串拼接生成结果的;
     3. 用该“定制化”的方法来 stringify 对象即可。
     ​
     function myStringify(o) {
         return (
             `
                 {"name":${o.name},"sex":${o.sex},"tel":${o.tel},"address":${o.address}}
             `
         )
     }
     console.time()
     var obj = { "name":"junjia", "sex":1, tel: 110, address: '植村'};
     myStringify(obj)
     console.timeEnd() // default: 0.013671875ms
     ​
     ​
  • 相关阅读:
    AI换脸必备知识:如何查看显卡型号以及显存大小!
    DeepFaceLab620稳定版使用过程详解!
    DeepFaceLab错误:DLL Load failed 找不到指定模块!
    DeepFaceLab进阶:H128,DF,SAE模型有何不同?哪个最好?
    J2EE与EJB
    Servlet与JSP
    Java网络编程详解
    Java多线程详解
    Java数据库操作
    Java多线程
  • 原文地址:https://www.cnblogs.com/huangjunjia/p/13068170.html
Copyright © 2020-2023  润新知