zoukankan      html  css  js  c++  java
  • 实现JS数据拷贝

    实现JS数据拷贝

    实现一个函数 clone ,可以对JavaScript 中的 5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。

    function clone(obj) {
      var o;
      switch(typeof obj){
        case "undefined":
            break;
    
        case "string":
            o =  obj + "";
            break;
    
        case "number":
            o = obj - 0;
            break;
    
        case  "boolean":
            o = obj;
            break;
    
        case "object":
            if(obj === null){
               o = null;
            }else{
              if(Object.prototype.toString.call(obj).slice(8,-1) === "Array"){
                  o = [];
                  for(var i = 0;i < obj.length; i++){
                    o.push(clone(obj[i]))
                   }
              }else{
                  o = {};
                  for (var k in obj){
                    o[k] = clone(obj[k])
                  }
              }
            }
    
            break;
    

        default:         o = obj;         break;  }

     return o; }

    (2)、对象的另一种深拷贝

    try {
       const obj2 = JSON.parse(JSON.stringify(obj))
    } catch (error) {
      const obj2 = {}
    }
    未完,待续......
  • 相关阅读:
    Apache、NGINX支持中文URL
    JS中关于clientWidth offsetWidth scrollWidth 等的含义
    设置apache登陆密码验证
    通过java代码访问远程主机
    win7
    Netty从没听过到入门 -- 服务器端详解
    分块分段
    数论-佩尔方程
    数论-毕达哥拉斯三元组
    HDU 5613-Baby Ming and Binary image
  • 原文地址:https://www.cnblogs.com/zhishiyv/p/14611962.html
Copyright © 2011-2022 走看看