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 = {}
    }
    未完,待续......
  • 相关阅读:
    97. Interleaving String
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    94. Binary Tree Inorder Traversal
    odoo many2many字段 指定打开的form视图
    docker sentry 配置文件位置
    postgres 计算时差
    postgres 字符操作补位,字符切割
    postgres判断字符串是否为时间,数字
    odoo fields_view_get
  • 原文地址:https://www.cnblogs.com/zhishiyv/p/14611962.html
Copyright © 2011-2022 走看看