美文网首页
js 完全复制一个 数组, 而非引用复制

js 完全复制一个 数组, 而非引用复制

作者: xcyzjs | 来源:发表于2020-08-20 21:09 被阅读0次
// 1. 引用复制, 共用内存
let arr = [1, 2, 3]
let brr = arr
brr.splice(1, 1)
console.log(brr) // [1, 3]
console.log(arr) // [1, 3]

// 2. 完全复制, 不共享内存
let arr = [1, 2, 3]
let brr = [...arr]
brr.splice(1, 1)
console.log(brr) // [1, 3]
console.log(arr) // [1, 2, 3]

在 React 中对 state 数组数据的处理, 不要直接引用赋值, 而要完成复制赋值
因为直接修改 state 数据会对 React 性能调优造成影响

相关文章

  • js 完全复制一个 数组, 而非引用复制

    在 React 中对 state 数组数据的处理, 不要直接引用赋值, 而要完成复制赋值因为直接修改 state ...

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

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

  • Golang:数组与切片的复制

    在Golang中,数组是值类型而切片是引用类型。因此值的复制与切片的复制并不相同。 数组的复制 对于值类型的数组来...

  • JS复制数组

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

  • JavaScript里的深浅拷贝

    由于js里的数据类型分为简单类型和引用类型,所以在引用类型的复制问题上出现了深浅复制的问题。深复制和浅复制只针对像...

  • 深入浅出深度复制与浅度复制(demo)

    深度复制:复制一个对象时并且复制了该对象的引用(引用的引用。。。)。 浅度复制:仅仅复制该对象的成员变量(基本类型...

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

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

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

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

  • 深复制和浅复制

    浅复制:浅复制是复制引用,复制后的引用都是指向同一个对象的实例,彼此之间的操作会互相影响 深复制:深复制不是简单的...

  • iOS常见面试题

    1、浅复制和深复制的区别 浅层复制:只复制指向对象的指针,而不复制引用对象本身。 深层复制:复制引用对象本身。 意...

网友评论

      本文标题:js 完全复制一个 数组, 而非引用复制

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