拷貝(clone)方法集合

1.擴展運算符...

淺拷貝,拷貝可枚舉屬性
使用這種技術將會忽略原型鏈。此外,嵌套對象並不會被克隆,只是複製了他們的引用,因此淺拷貝後嵌套對象和原始對象仍然指向同一個對象。

let a = {b:1}
b = {...a}
console.log(b) // {b: 1}

2.JSON.parse(JSON.stringify(obj))

可用於深度克隆一個簡單的對象,但他是 CPU 密集型的且只允許接受有效的 JSON。因此不適用於含有函數及循環引用的場景。

let a = {b:1}
b = JSON.parse(JSON.stringfy(a))
console.log(b) // {b: 1}

3.reduce

Object.keys(obj).reduce((acc, key) => (acc[key] = obj[key], acc), {})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章