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 = {}
    }
    未完,待续......
  • 相关阅读:
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    bzoj3561DZY Loves Math VI
    bzoj3529[Sdoi2014]数表
    bzoj3309DZY Loves Math
    bzoj2823[AHOI2012]信号塔
    bzoj2301[HAOI2011]Problem b
  • 原文地址:https://www.cnblogs.com/zhishiyv/p/14611962.html
Copyright © 2011-2022 走看看