首页 > 其他分享 >js 对象深拷贝

js 对象深拷贝

时间:2023-11-15 16:44:07浏览次数:38  
标签:obj 对象 des js dest key var 拷贝 deepObj

    function deepObj(obj){
      var dest={};   
        for(var key in obj){
          if(typeof obj[key]==='object'){
          dest[key]=obj[key].constructor===Array?[]:{};
          deepObj(dest[key],obj[key]);
        }else{
          dest[key]=obj[key]
        }
      }
      return dest;
    }
    var obj={name:'aa',addr:'werwer',arr:[{name12:'aa',addr12:'werwer'}]}
    var des=deepObj(obj)
    des.arr.name12='aaaaa'
    console.log(des)
    console.log(obj)

  

标签:obj,对象,des,js,dest,key,var,拷贝,deepObj
From: https://www.cnblogs.com/howhy/p/17834185.html

相关文章

  • js按位运算符(按位或,按位与,按位异或)
    1.按位操作的概念:按位操作为,将数据转化为二进制八位展示/十六位展示后根据条件进行计算的操作2.按位运算符分类:&:按位与|:按位或^:按位异或~:按位非<<:左移运算符>>:右移运算符>>>:无符号右移3.具体讲解:&:按位与 ----将数......
  • sortablejs拖拽功能
    官网:http://www.sortablejs.com/中文文档:https://www.itxst.com/sortablejs/neuinffi.htmlgithub地址如下:https://github.com/SortableJS/react-sortablejsimportReact,{FC,useState}from'react';import{ReactSortable}from'react-sortablejs';......
  • js基本语法规范
    1.在js中,双引号引起来的,就是字符串。2.JavaScript中的变量变量可以由任意顺序的大小美元符号$组成,但不能以数字开头,,不能是JavaScript中的保留关键字合法标识符举例:indentifier、username、user_name、_userName、$username非法的标识符举例:int、98.3、Helloworld3.JaveScrip......
  • 推荐一个Node.js多版本管理的可视化工具
    关于Node.js的开发者来说,在开发机器上管理多个不同版本的Node.js是一个常见痛点。之前在开发者安全大全专栏中,提到过解决方法:使用nvm,如果对于nvm还不了解的话,可以前往了解。对于TJ来说,因为习惯敲命令了,所以nvm其实已经够用了。但是,有的小伙伴还是更喜欢可视化的管理工具。所以,今......
  • ubuntu cp拷贝文件夹报错“文件系统不支持符号链接”的解决方案
    出现这个问题,说明待拷贝的文件夹内部有不支持拷贝的文件格式,要解决这个问题可以转换一下思路:将文件夹压缩为压缩包——>拷贝压缩包到指定位置——>解压,命令如下(这里以zip压缩解压为例):#压缩文件夹,FileName.zip指的是你要压缩成的压缩包名字,DirName指的是要压缩的文件夹sudo......
  • 解决Python requests库不支持发送可迭代对象的问题
    在加班的路上,bug是那永远的陪伴。对于程序员来说,bug就像黑暗中的萤火虫,虽然微弱却永远指引着前进的方向。今天,我们要探讨的是Pythonrequests库在处理可迭代对象时遇到的问题,这是一道让许多开发者头痛的难题。本文将详细介绍一种临时解决方案,希望能帮助大家解决问题,让编程之路更加......
  • js是一门基于对象的语言,js不是面向对象的语言,但是可以模拟面向对象的思想,具体说面向
    下列关于JavaScript的说法中正确的是()A所有变量在使用之前必须做声明BJavaScript是面向对象的程序设计语言CJavaScript是解释性语言DJavaScript前身是Oak语言正确答案:C选C。解释性语言是相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由......
  • const 声明一个常量无法更改,所以TypeError; 如果const出来的是一个对象他的属性是可以
    在es6中,下面程序运行结果输出,选项结果正确的是for(leti=0;i<12;i++){}console.log(i);consta=12;a=13;console.log(a);constg={b:3};console.log(g.b);g.b=12;console.log(g.b);let[head,...tail]=[1,2,3,4];conole.log(tail);A11,13,3,12,[3,4]Binotd......
  • 建简单的静态文件服务器:使用Node.js和HTTP模块
    创建简单的静态文件服务器:使用Node.js和HTTP模块在Web开发中,经常需要搭建一个能够提供静态文件访问的服务器。无论是用于本地开发调试,还是用于部署网站,这都是一个常见的需求。本篇文章将介绍如何使用Node.js和其内置的HTTP模块来创建一个简单的静态文件服务器。准备工作首先,确......
  • c# 直接读取 json 数据
    usingNewtonsoft.Json.Linq;usingSystem;usingSystem.IO;classProgram{staticvoidMain(){stringjson=File.ReadAllText("data.json");//从文件中读取JSON数据JObjectjsonObject=JObject.Parse(json);//解析JSON数据stringn......