美文网首页
JS复制数组

JS复制数组

作者: Lia代码猪崽 | 来源:发表于2019-07-05 11:39 被阅读0次

'='不能复制数组

如果使用=来赋值,不是复制,而是相当于把新数组的指针与指向旧数组所指向的数据,如果新数组变了,旧数组也会一起改变:

const arr1 = [1, 2, 3, 4]
const arr2 = arr1
console.log(arr2)  //  [1, 2, 3, 4]

arr2.push(5)
console.log(arr2)  // [1, 2, 3, 4, 5]
console.log(arr1)  // [1, 2, 3, 4, 5]

复制数组

1.使用concat
concat() 用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

const arr1 = [1, 2, 3, 4]
const arr2 = arr1.concat()
console.log(arr2)  //  [1, 2, 3, 4]

arr2.push(5)
console.log(arr2)  // [1, 2, 3, 4]
console.log(arr1)  // [1, 2, 3, 4, 5]

2.使用ES6 中的扩展运算符...

const arr1 = [1, 2, 3, 4]
// 写法一
const  arr2 = [...arr1]
// 写法二
const [...arr2] = arr1
console.log(arr2)  //  [1, 2, 3, 4]

arr2.push(5)
console.log(arr2)  // [1, 2, 3, 4, 5]
console.log(arr1)  // [1, 2, 3, 4]

相关文章

  • JS复制数组

    '='不能复制数组 如果使用=来赋值,不是复制,而是相当于把新数组的指针与指向旧数组所指向的数据,如果新数组变了,...

  • javascript 数组以及对象的深拷贝

    数组的深拷贝在js中,数组和对象的复制如果使用=号来进行复制,那只是浅拷贝。如下图演示: for 循环实现数组的深...

  • JS中数组和对象的 深复制(拷贝)与浅复制(拷贝)

    JS中数组和对象的 深复制(拷贝)与浅复制(拷贝) 1.js中有五种简单的数据类型(null,string,und...

  • Js 数组的复制

    数组是复合的数据类型,直接复制的话,只是复制了指向底层数据结构的指针,而不是克隆一个全新的数组。 const a1...

  • js.array 复制数组

    避免用遍历,类似map等能生成新的数组的就是了... 类数组的转换成数组

  • js数组复制(不改变原数组)

    需要从后台取出数据,在前台接收并要保存在一个全局变量,因为之后还要对此使用此全局变量。 全局变量 var glob...

  • nodejs扩展运算符的应用

    nodejs复制数组,合并数组 1、复制数组: 数组是符合的数据类型,直接复制的话,只是复制了指向底层数据结构的指...

  • es6之复制数组

    es5数组复制 es6数组复制

  • JS走过的第一个大坑

    JS浅复制问题:复制对象或者数组时,直接把对象复制给另一个变量,其实两个对象包括内在属性都是指向同一块内存地址,导...

  • JS 数组赋值后原数据随赋值后的数据的变化而变化

    JS在赋值时,原始类型(比如字符串)是复制值,引用类型(比如关联数组)是复制引用。引用类型的赋值相当于地址拷贝,赋...

网友评论

      本文标题:JS复制数组

      本文链接:https://www.haomeiwen.com/subject/jzushctx.html