zoukankan      html  css  js  c++  java
  • javascript 复制数组

    常用复制数组的几种方法

    直接arr1 = arr2 这种方法复制的是原数组的引用,修改复制出来的新数组会改变原来数组的内容

    var arr = [1, 2, 3, 6];
    var arr_ = arr;
    
    console.log(arr_);//1,2,3,6
    
    arr_.splice(2, 0, 4, 5);
    console.log(arr_);//1,2,3,4,5,6;
    consoe.log(arr);//1,2,3,4,5,6;
    

      因为复制的是数组的引用所以会改变原数组,当然修改原数组也可以改变新数组。

    var array1 = new Array("1","2","3"); 
    var array2; 
    array2 = array1; 
    array1.length = 0; 
    alert(array2); //返回为空
    

      比较好的做法,除了用for去循环,还可以用slice()方法或者concat()方法对数组进行操作

    var arr1 = [1, 2, 3];
    var arr2 = arr1.slice(0);
    arr2.splice(3,0,4,5);
    console.log(arr2);//1,2,3,4,5
    console.log(arr1);//1,2,3
    

      

    var arr1 = [1, 2, 3];
    var arr2 = arr1.concat([]);
    arr2.splice(3,0,4,5);
    console.log(arr2);//1,2,3,4,5
    console.log(arr1);//1,2,3
    

      因为slice和concat返回的都是一个新数组,所以可以使用这两个方法进行复制

  • 相关阅读:
    软件工程基础之二——阅读《软件工程基础》的问题
    软件工程基础之一——个人介绍与计划
    个人介绍
    sudoku
    GitHub地址
    疑问②
    概览提问①
    jsp内置对象
    tomcat的环境变量配置
    构造方法的重载代码
  • 原文地址:https://www.cnblogs.com/xjcjcsy/p/4488220.html
Copyright © 2011-2022 走看看