zoukankan      html  css  js  c++  java
  • [js深度拷贝] js 修改变量值后 原变量值也会更改的问题

     1 let arr = [
     2   {
     3         name:"测试"
     4     }  
     5 ] 
     6 
     7 let newarr = arr
     8 
     9 newarr[0].name = "柚子"
    10 
    11 console.log(newarr[0].name) // 柚子
    12 console.log(arr[0].name) // 柚子

    解决办法

     1 let arr = [
     2   {
     3         name:"测试"
     4     }  
     5 ] 
     6 
     7 let newarr = JSON.parse(JSON.stringify(arr))  // 方法
     8 
     9 newarr[0].name = "柚子"
    10 
    11 console.log(newarr[0].name) // 柚子
    12 console.log(arr[0].name) // 测试

    方法二

    let arr = [{ name: "测试"}]
    
    let newarr = JSON.parse(JSON.stringify([...arr]))
    
    // 方法 newarr[0].name = "柚子" 
    //console.log(newarr[0].name) 
    // 柚子 console.log(arr[0].name) // 测试
  • 相关阅读:
    开题
    kafka介绍原理
    xxl-job
    多线程使用
    基础
    linux命令
    oracle id 自增
    feign调用远程服务 并传输媒体类型
    复杂sql mybatis查询
    开源easyExcel应用
  • 原文地址:https://www.cnblogs.com/iblackly/p/13183144.html
Copyright © 2011-2022 走看看