广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >JavaScript中如何递归的方式来进行复制
  • 742
分享到

JavaScript中如何递归的方式来进行复制

2024-04-02 19:04:59 742人浏览 安东尼
摘要

这篇文章主要讲解了“javascript中如何递归的方式来进行复制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中如何递归的方式来进行复

这篇文章主要讲解了“javascript中如何递归的方式来进行复制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中如何递归的方式来进行复制”吧!

1.递归的方式来进行复制

//定义一个稍微复杂的对象

var obj = {

    name: [{

        name: 'lisi'

    },{

        name: 'zhang',

        age: [{

            name: 'liu'

        }]

    }],

    age: '90'

}

function deepClone(obj) {

    //定义一个变量来存储结果

    var result;

    //判断传递的类型

    if(obj === null || typeof obj !== 'object') return obj;

    //处理日期对象

    if(obj instanceof Date){

       result = new Date();

       result.setTime(obj.getTime());

       return result;

    }

    //处理数组

    if(obj instanceof Array) {

       result = [];

       for(var i = 0; i < obj.length; i++){

          result[i] = arguments.call(obj[i])

       }

       return result;

    }

    //处理对象

    if(obj instanceof Object) {

        result = {};

        for(var key in obj) {

           if(obj.hasOwnProperty(key) result[key] = arguments.callee(obj[key])

        }

        return result;

    }

}

2.使用ES5中提供的新的api

var obj = {

    name: [{

        name: 'lisi'

    },{

        name: 'zhang',

        age: [{

            name: 'liu'

        }]

    }],

    age: '90'

}

function deepClone(obj) {

   //定义一个变量来存储结果

    var result;

    //判断传递的类型

    if(obj === null || typeof obj !== 'object') return obj;

    //处理日期对象

    if(obj instanceof Date){

       result = new Date();

       result.setTime(obj.getTime());

       return result;

    }

    if(typeof obj === 'object') {

       result = JSON.parse(jsON.stringify(obj);

       return result;

    }

}

感谢各位的阅读,以上就是“JavaScript中如何递归的方式来进行复制”的内容了,经过本文的学习后,相信大家对JavaScript中如何递归的方式来进行复制这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: JavaScript中如何递归的方式来进行复制

本文链接: https://www.lsjlt.com/news/94380.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript中如何递归的方式来进行复制
    这篇文章主要讲解了“JavaScript中如何递归的方式来进行复制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中如何递归的方式来进行复...
    99+
    2022-10-19
  • CentOS 6.9中如何进行二进制方式安装mysql5.7.21
    今天就跟大家聊聊有关CentOS 6.9中如何进行二进制方式安装mysql5.7.21,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言比 ...
    99+
    2022-10-18
  • 如何通过禁用JavaScript的方式实现复制粘贴
    这篇文章给大家分享的是有关如何通过禁用JavaScript的方式实现复制粘贴的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。早上起来睁开眼,诶呀,考试周又到了。各个科目的期中作业都在各自的平台陆续发布了。各种乱七八...
    99+
    2023-06-14
  • 如何进行Java 数据结构中二叉树前中后序遍历非递归的具体实现
    本篇文章为大家展示了如何进行Java 数据结构中二叉树前中后序遍历非递归的具体实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、前序遍历1.题目描述给你二叉树的根节点 root ,返回它节点值的...
    99+
    2023-06-25
  • 如何使用RMAN对CDB中的PDB进行复制
    本篇内容主要讲解“如何使用RMAN对CDB中的PDB进行复制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用RMAN对CDB中的PDB进行复制”吧! 1....
    99+
    2022-10-19
  • Java中的图片如何利用 IO中字节流进行复制
    Java中的图片如何利用 IO中字节流进行复制?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java IO--字节流复制图片实例字节流用来操作图片、视屏、音频(进制文件)实...
    99+
    2023-05-31
    java io 图片复制
  • 如何采用TCP的方式连接到KVM服务器进行控制
    这篇文章主要为大家展示了“如何采用TCP的方式连接到KVM服务器进行控制”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何采用TCP的方式连接到KVM服务器进行控制”这篇文章吧。添加kvm宿主机...
    99+
    2023-06-03
  • 如何使用RMAN对CDB中的部分表空间进行复制
    这篇文章主要介绍“如何使用RMAN对CDB中的部分表空间进行复制”,在日常操作中,相信很多人在如何使用RMAN对CDB中的部分表空间进行复制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2022-10-19
  • Oracle ASM如何使用asmcmd中的cp命令来执行远程复制
    小编给大家分享一下Oracle ASM如何使用asmcmd中的cp命令来执行远程复制,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Oracle ASM使用asmcmd中的cp命令来执行远程...
    99+
    2022-10-18
  • 如何进行JavaScript设计模式入门和框架中的使用
    本篇文章为大家展示了如何进行JavaScript设计模式入门和框架中的使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在编写JS和组装代码的过程中,运用一定的设计...
    99+
    2022-10-19
  • 如何使用Golang中的正则表达式库来进行字符串替换
    在Go语言中,正则表达式(Regular expression)可以帮助我们快速地实现字符串匹配、提取和替换等操作,从而提高代码的效率和可读性。在本文中,我们将探讨如何使用Golang中的正则表达式库来进行字符串替换。一、正则表达式基础在开...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作