鍍金池/ 問(wèn)答/HTML/ 怎樣使用純 javascript 實(shí)現(xiàn)對(duì)一個(gè)對(duì)象的淺拷貝、深拷貝,不要用es6

怎樣使用純 javascript 實(shí)現(xiàn)對(duì)一個(gè)對(duì)象的淺拷貝、深拷貝,不要用es6

  1. 怎樣使用 javascript 實(shí)現(xiàn)對(duì)一個(gè)對(duì)象的淺拷貝
  2. 怎樣使用 javascript 實(shí)現(xiàn)對(duì)一個(gè)對(duì)象的深拷貝

-------------回答分割線-----------------

  1. 怎樣使用 javascript 實(shí)現(xiàn)對(duì)一個(gè)對(duì)象的淺拷貝

clipboard.png

  1. 怎樣使用 javascript 實(shí)現(xiàn)對(duì)一個(gè)對(duì)象的深拷貝

(1) 遞歸
圖片描述

(2)先把這個(gè)對(duì)象轉(zhuǎn)化為字符串,在拷貝,再轉(zhuǎn)化回來(lái)即可

JSON.parse(JSON.stringify(obj))

回答
編輯回答
網(wǎng)妓

update

可以看看這篇文章

淺拷貝: Object.assign {...obj}
深拷貝: 一層層復(fù)制, pushState, JSON.parse+JSON.stringify

2017年8月15日 14:46
編輯回答
妖妖

淺拷貝:

function shalowCopy(obj) {
    return {...obj}
}

深拷貝

function deepCopy(obj) {
    return JSON.parse(JSON.stringify(obj))

}

2018年8月24日 08:59