JS 物件轉殖的方法

2022-09-15 17:42:14 字數 774 閱讀 7403

1. object.assign() 物件淺複製

/*

* * created by itw_zhangdl on 2018/1/10. */

let obj =

let obj2 =object.assign({}, obj)

obj.friends.push('4

')console.log(obj2)

//

2.object.creat()   詳情看es6   物件的擴充套件  

object.getownpropertydescriptors方法的另乙個用處,是配合object.create方法,將物件屬性轉殖到乙個新物件。這屬於淺拷貝。

1.json.parse(json.stringify(obj)) 

缺點:只針對陣列或者物件,函式不行

let obj =

let obj3 =obj

let obj2 =json.parse(json.stringify(obj))

console.log(obj3,

'obj3')

obj3.name = '

zhangsi

'console.log(obj,

'obj')

console.log(obj3,

'obj3')

console.log(obj2,

'obj2

')

未完待續,以後總結。。。

js物件的轉殖

由於js是採用引用傳值的,故修改任何乙個物件,其關聯的物件也會被改變,但很多時候我們只想得到乙個物件的拷貝,而非引用。下面提供了一種實現。不過除非程式中需要,否則要避免操作物件的拷貝,因為這樣會影響效能,造成太多的遞迴呼叫 too much recursive function clone o el...

js 物件的深轉殖

前端筆試或者面試的時候,很喜歡問的乙個問題就是物件的深度轉殖,或者說是物件的深度複製。其實這個問題說容易很容易,但是要說全面也挺不易。要弄明白物件的轉殖,首先要明白js中物件的組成。在js中一切例項皆是物件,具體分為原始型別和合成型別。原始型別物件指的是number string boolean等,...

js深度轉殖物件

用js實現物件轉殖最關鍵的兩點就是 var objclone new this.constructor 和objclone key this key clone 乙個實現相同物件建立,乙個實現深度轉殖。object.prototype.clone function else for var key ...