js实现深度拷贝_asyoulike1994的博客-程序员宅基地

技术标签: 技术  

前段时间遇到深度拷贝的问题,总结一下用的方法

1.方便快速var arr1 = JSON.parser(JSON.stringigy(arr)),这样就把arr赋值给了arr1,修改arr1的内容并不会影响arr

2.jquery提供了$extened方法,$.extened(true,arr1,arr),把arr深度拷贝给了arr1

3.

    function deepClone(item) {
        if (!item) { return item; }

        var type;
        var result;

        types.forEach(function (type) {
            if (item instanceof type) {
                result = type(item);
            }
        });

        var key;
        var value;
        if (item instanceof Array === true) {
            result = [];
        }
        else if (item instanceof Object === true) {
            result = {};
        }
        else {
            return item;
        }
        for (key in item) {
            value = item[key];
            result[key] = (typeof item === "object") ? this.deepClone(value) : value;
        }

        return result;
    }


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/asyoulike1994/article/details/78388224

智能推荐

苹果“面目全非”的 iOS7_最骚的就是你的博客-程序员宅基地_ios7

北京时间5月18日消息,据国外媒体报道,苹果正加速朝iOS7系统迈进。目前各大媒体的消息都指出,iOS会经历苹果历史上的第一 次重大变更。新形象据称将撇弃贯穿整个iOS发展阶段的绚丽设计,走简洁、干净的路线。作为资深果粉的你,是否有足够的心理承受能力来面对这一切呢?下面就睁大眼睛接受视觉挑战吧。1、一个完全不一样的iOS72、苹果新图标大体就是这个样子3、你

JUnit的注解、套件和参数化设置的介绍_HelloWorld_EE的博客-程序员宅基地

JUnit4中的注解、测试套件和参数化设置注解上面博文已经介绍了如下的注解:1、@BeforeClass,用此注解修饰的方法将在所有方法运行前被执行,是一个static方法,只执行一次。2、@AfterClass,用此注解修饰的方法将在所有方法运行后被执行,也是一个static方法,只执行一次。3、@Before,用此注解修饰的方法在每个test方法运行前没执行4、@Test,表明此方法为测试方法。

psycopg2模块安装问题_hgz_dm的博客-程序员宅基地

我的平台是win10(x64)、python3.7,打算通过psycopg2模块来操作Greenplum数据库,我通过pip installpsycopg2 安装了psycopg2模块,也提示安装成功了,可是我在importpsycopg2的时候提示我该模块未知、不存在,这让我很郁闷,于是我查找了一下原因,在stack overfloow上找到了原因。尽管我的windows系...

python反爬虫破解_python中绕过反爬虫的方法总结_weixin_39636610的博客-程序员宅基地

我们在登山的途中,有不同的路线可以到达终点。因为选择的路线不同,上山的难度也有区别。就像最近几天教大家获取数据的时候,断断续续的讲过header、地址ip等一些的方法。具体的爬取方法相信大家已经掌握住,本篇小编主要是给大家进行应对反爬虫方法的一个梳理,在进行方法回顾的同时查漏补缺,建立系统的爬虫知识框架。首先分析要爬的网站,本质是一个信息查询系统,提供了搜索页面。例如我想获取某个case,需要利用...

unityJson文件创建和读取_梦回大唐敲代码的博客-程序员宅基地_unity 创建json文件

using System.Collections;using System.Collections.Generic;using UnityEngine;using LitJson;using System.IO;using System.Text.RegularExpressions;using UnityEditor;using System;public class LevelJosnManager : MonoBehaviour{#if UNITY_EDITOR pu.

Java线程:概念与原理__小呆呆的博客-程序员宅基地

Java线程:概念与原理 下面就根据这些问题讲解一下线程操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如Java.ex...

随便推点

Win10系统利用QEMU虚拟飞腾arm架构主机环境_*_花非人陌_*的博客-程序员宅基地_qemu 飞腾

1、资料包下载QEMU下载地址:链接:https://pan.baidu.com/s/1onUxTbS3RBXdBWWEwAnUBw 提取码:8888自行准备不同版麒麟操作系统2、安装QEMU1、运行qemu-w64-setup-20210505.exe安装 #要记得安装位置2、安装后利用qemu生成一个硬盘文件 步骤: ①、进入到安装目录,如下图,打开cmd命令3、执行以...

JavaWeb中application、session、request对象整理复习_00蛋的博客-程序员宅基地

application、session、request和page对象主要作用是用于Web应用中JSP和servlet之间数据的交换。就像现实生活中有两个人,他们有钱需要交换,但两人又不能接触,那么只能让A将钱存入银行,然后由B去银行去取。application、session、request、page就相当于存钱的银行。一、application对象(代表JSP所属的web应用本身)appli...

线程_dd345898084的博客-程序员宅基地

JoinableQueue的使用from multiprocessing import JoinableQueue, Queueq = JoinableQueue()q.put(1)q.put(2)print(q.get())q.task_done() # 告诉容器已经处理完了一个数据q.task_done() # 有几次就要调用几次q.j...

C语言——if else判断学生成绩_爱吃火锅的小boy的博客-程序员宅基地

C语言——if else判断学生成绩成绩分数范围:大于90分优秀大于75小于90良好60到75及格小于60不及格小于40很差#include <stdio.h>#include <stdlib.h>int main(){ int score; //1.提示输入成绩 printf("请输入学生成绩: \n"); //2.获取用户输入 scanf("%d",&score);

coin1 - pwnable_SkYe231_的博客-程序员宅基地

coin1 - pwnable题目脚本分析题目利用二分法找出假硬币。游戏需要进行100轮,每轮得一分。游戏与服务器交互????。需要注意一点,每一轮找出并输入假硬币之后,需要再一次输入假硬币的序号,开启下一轮的游戏或获得flag。~$ nc pwnable.kr 9007 --------------------------------------------------- - ...

helm部署consul集群_异界神域的博客-程序员宅基地_consul helm

[[email protected] consul]# kubectl create ns consul[[email protected] consul]# helm fetch stable/consul[[email protected] consul]# tar zxvf consul[[email protected] consul]# vim consul/values.yam改为自己的storageclass存...

推荐文章

热门文章

相关标签