物件如何深度克隆
<script type="text/javascript">
function clone(obj) {
//判斷是物件,就進行迴圈複製
if (typeof obj === 'object' && typeof obj !== 'null') {
// 區分是陣列還是物件,建立空的陣列或物件
var o = Object.prototype.toString.call(obj).slice(8, -1) === "Array" ? [] : {};
for (var k in obj) {
// 如果屬性對應的值為物件,則遞迴複製
if(typeof obj === 'object' && typeof obj !== 'null'){
o[k] = clone(obj[k])
}else{
o[k] = obj[k];
}
}
}else{ //不為物件,直接把值返回
return obj;
}
return o;
}
</script>
深克隆的意思是新建立一個物件,並且擁有另外一個物件的所有屬性。
當你改變新物件的時候 對原有物件不會有改變
相關文章
- js深度克隆物件JS物件
- js物件的深度克隆!JS物件
- JS物件深度克隆/複製JS物件
- 在 JavaScript 中如何克隆物件?JavaScript物件
- javascript深度克隆JavaScript
- js 深度克隆JS
- Java中的物件“克隆”Java物件
- js克隆一個物件JS物件
- JS型別判斷、物件克隆、陣列克隆JS型別物件陣列
- 原生js實現物件的深克隆以及淺克隆JS物件
- js之物件深淺克隆JS物件
- 我不知道如何在 JS/TS 中建立深度克隆JS
- 寫一個深度克隆函式函式
- 詳解 Java 中的物件克隆Java物件
- Java值物件或DTO克隆工具Java物件
- vue 克隆物件時遇到的問題Vue物件
- Java 的常見 API 與物件克隆)JavaAPI物件
- 什麼要使用克隆、如何實現克隆物件、序列化與反序列實現克隆的好處、深拷貝與淺拷貝物件
- 如何安全地讀寫深度巢狀的物件?巢狀物件
- js深度複製物件JS物件
- 使用結構化克隆在 JavaScript 中進行深度複製JavaScript
- JS 物件合併與克隆方法的分類與比較JS物件
- 三目運算、物件克隆、深拷貝和淺拷貝物件
- vue的深度拷貝物件Vue物件
- js中深克隆與淺克隆JS
- 淺克隆和深克隆的用法
- 如何在本地克隆遠端github倉庫Github
- 深度解讀《深度探索C++物件模型》之C++物件的記憶體佈局C++物件模型記憶體
- 使用c#強大的表示式樹實現物件的深克隆C#物件
- Vue.js - 陣列和物件的賦值動態變化 & 克隆Vue.js陣列物件賦值
- JavaScript 中 structuredClone 和 JSON.parse(JSON.stringify()) 克隆物件的區別JavaScriptStructJSON物件
- 淺克隆深克隆舉例解讀
- vue陣列的深克隆和淺克隆Vue陣列
- JAVA 基礎 – clone淺克隆與深克隆Java
- 如何繞過強制門戶——克隆 MAC 地址Mac
- [譯] 如何輕鬆地在樹莓派上使用深度學習檢測物件樹莓派深度學習物件
- 深入理解Java的淺克隆與深克隆Java
- LeetCode 克隆圖LeetCode