vue物件的深度轉殖辦法

2021-10-24 16:58:46 字數 794 閱讀 3003

方法1:

通過js序列化,將js轉換成字串,然後再將字串轉換成js物件

var olbobj =

;var str =

json

.stringify

(obj)

;//序列化物件

var newobj =

json

.parse

(str)

;//還原

//相當於

var newobj =

json

.parse

(json

.stringify

(olbobj )

)

方法2:

es6語法物件展開運算子進行物件的展開賦值

var a =

var b =

方法3:

進行物件的遍歷複製,對 物件的每一條屬性進行複製,這樣就能進行物件的深度轉殖

function

newobj

(obj)

;//constructor 屬性返回對建立此物件的陣列函式的引用。建立相同型別的空資料if(

typeof obj !==

'object'

)else

else}}

return newobj;

//返回深度轉殖後的物件

}

深度轉殖物件

有時,我們需要對乙個物件進行複製,如下列要求 1.使用遞迴來實現乙個深度轉殖,可以複製乙個目標物件,返回乙個完整拷貝 2.被複製的物件型別會被限制為數字 字串 布林 日期 陣列 object物件。function isobject obj function cloneobject obj 判斷物件型...

經典物件轉殖模型 深度轉殖

我們都知道 json.parse json.stringfy obj 可以深度轉殖乙個物件,但是有乙個缺陷,不能轉殖 物件 轉殖的方法 param obj returns function clone obj else if obj instanceof object else 轉殖物件 param...

js深度轉殖物件

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