zoukankan      html  css  js  c++  java
  • 数组的浅克隆

    浅克隆 只会把第一级克隆 第2级及后面的级数 和原始对象公用相同地址
    方式
    1.展开运算符
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>数组克隆</title>
    </head>
    
    <body>
    </body>
    <script>
      // ... 为浅克隆 只会把第一级克隆 第2级及后面的级数 和原始对象公用相同地址
      let arr1 = [10, 20, {
        name: 'es6'
      }]
      // 展开运算符
      let arr2 = [...arr1]
      console.log(arr2, arr1)
      console.log(arr1[2] === arr2[2])  // true 
    </script>
    
    </html>

    2. slice 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。 当起始值为0 ,第2值木有数组是为末尾 所以全部克隆

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>数组克隆</title>
    </head>
    
    <body>
    </body>
    <script>
      // ... 为浅克隆 只会把第一级克隆 第2级及后面的级数 和原始对象公用相同地址
      let arr1 = [10, 20, {
        name: 'es6'
      }]
      // 展开运算符
      // let arr2 = [...arr1]
      let arr2 = arr1.slice(0)
      console.log(arr2, arr1)
      console.log(arr1[2] === arr2[2])  // true 
    </script>
    
    </html>

  • 相关阅读:
    折叠Collapse插件
    data按钮
    Web设计中打开新页面或页面跳转的方法 js跳转页面
    HTML文本框
    常用端口
    node.js(八) 有趣的东西才开始哦
    node.js(七) 子进程 child_process模块
    node.js(六) UTIL模块
    node.js(五)字符串转换
    SSL证书切换
  • 原文地址:https://www.cnblogs.com/guangzhou11/p/12775241.html
Copyright © 2011-2022 走看看