首页 > 其他分享 >深拷贝手写

深拷贝手写

时间:2023-05-23 21:12:42浏览次数:39  
标签:obj1 arr obj2 let key deepCopy 手写 拷贝

        let arr = ["张三", "李四", "王五",[1,2,3,4,5]];

        function deepCopy(obj1) {
            let obj2 = Array.isArray(obj1) ? [] : {};
            for (let key in obj1) {
        // hasOwnProperty : 自身属性 会返还 true ,否则会返还false if(obj1.hasOwnProperty(key)){ if(typeof obj1[key] === 'object'){ obj2[key] = deepCopy(obj1[key]); }else{ obj2[key] = obj1[key]; } } } return obj2; } let arr2 = deepCopy(arr); console.log(arr,arr2);

 

标签:obj1,arr,obj2,let,key,deepCopy,手写,拷贝
From: https://www.cnblogs.com/wh024/p/17426380.html

相关文章

  • Java开发笔记之将一个List拷贝到另一个List的问题
    0x00概述在对List数据进行不同的数据操作的时候,例如分支1将List按照A来排序,分支2将List按照B来排序,需要将List进行数据层面的拷贝; 0x01错误的操作仅仅是List的引用,并没拷贝List内的数据进行处理List<String>list1=newArrayList<>();List<String>list2=newArrayL......
  • 成长笔记二、MySQL数据库--学生管理系统数据库手写SQL实现(实践篇)
    学生对象---->学生表(student)老师对象---->老师表(teacher)课程对象---->课程表(course)成绩对象---->成绩表(score)班级对象---->班级表(前缀_class,因为user或class等英文单词是程序中的关键字.尽量不直接用)等.....数据库设计设计参考上篇博客https://ww......
  • js 手写深比较
     functionisObject(obj){returntypeofobj==='object'&&obj!==null}functionisEqual(obj1,obj2){if(!isObject(obj1)||!isObject(obj2)){returnobj1===obj2;}if(obj1===obj2){returntrue;}leto......
  • 聊一聊深拷贝和浅拷贝
    在了解深浅拷贝之前,我们需得对堆栈、基本数据类型、引用数据类型有基本的了解基本数据类型:number、string、boolean、null、undefined引用数据类型:object、function、array栈内存是保存大小固定的数据,即保存基本数据类型。堆保存的大小不固定,可保存引用数据浅拷贝:拷贝基本数据类型......
  • LSTM原理以及基于PyTorch的LSTM实现MNIST手写数字
    循环神经网络让神经网络有了记忆,对于序列话的数据,循环神经网络能达到更好的效果.我们将图片数据看成一个时间上的连续数据,每一行的像素点都是这个时刻的输入,读完整张图片就是从上而下的读完了每行的像素点.然后我们就可以拿出RNN在最后一步的分析值判断图片是哪一类了下......
  • 手写原生函数
    手写Function.prototype.call:Function.prototype.myCall=function(context,...args){context=context||window;constfn=Symbol('fn');context[fn]=this;constresult=context[fn](...args);deletecontext[fn];returnresult;}......
  • Python数据离散化指南:手写if-elif语句与pandas中cut()方法的实现
    当我们进行数据分析时,有时候需要对数值型数据进行离散化,将其划分为不同的标签或类别。这样做可以方便我们进行统计和分析,并帮助我们更好地理解数据。在本文中,我们将介绍两种常见的离散化方法,并提供实现代码。方法一:使用条件语句第一种方法是使用条件语句来显式地检查输入值x......
  • js深拷贝
    js深拷贝在JavaScript中,有多种方法可以实现对象的深拷贝,下面介绍几种常用的方式:手动遍历对象进行复制functiondeepCopy(obj){if(typeofobj!=='object'||obj===null){returnobj;}letnewObj=Array.isArray(obj)?[]:{};for(letkeyin......
  • Java实现文件拷贝的4种方法.
    第一种方法:古老的方式publicstaticlongforJava(Filef1,Filef2)throwsException{longtime=newDate().getTime();intlength=2097152;FileInputStreamin=newFileInputStream(f1);FileOutputStreamout=newFileOutputStream(f2);byte[]buffer=newbyte......
  • C++禁止函数拷贝和移动
    #defineDISALLOW_COPY(ClassName)\ClassName(constClassName&)=delete;\ClassName&operator=(constClassName&)=delete#defineDISALLOW_MOVE(ClassName)\ClassName(ClassName&&)=delete;\ClassName&operator=......