你可能以為我要來一波循環操作,對數據結構進行分析什么的,不,方法如下(僅適用json那樣的對象或者數組,如果對象或者數組中有類似Date,Function這種是不適用的)
1 const obj = { 2 key1: 'value1', 3 key2: 'value2', 4 key3: ['index1'], 5 key4: { 6 subKey1: 'subValue1' 7 } 8 } 9 const obj2 = JSON.parse(JSON.stringify(obj))
示例中 obj2 就是對 obj 進行深拷貝后的到的對象
此方法存在一定弊端,就是如果 JSON.parse() 方法中傳入的不是一個 JSON 字符串的話會報錯,影響之后的代碼執行,所以我們要對其進行處理下,如下
1 try { 2 const obj2 = JSON.parse(JSON.stringify(obj)) 3 } catch (error) { 4 const obj2 = {} 5 }
附加 JSON.stringify 用法示例, JSON.stringify 會將傳入的參數轉成字符串,如果是數組或對象的話,會將其平鋪開來轉成字符串,示例如下
* 注意: JSON.stringify 傳入字符串的話會返回一個原字符串加了雙引號后的新字符串
以上