js之物件深淺克隆
這裡介紹兩種方法對js物件的克隆
var obj1={data:["1","2"],lin:9}
方法1:
function clone(obj,deep){
var obj2={};/*要返回的物件*/
if(obj instanceof Array){
obj2=[];/*判斷物件是否為陣列*/
}
for(var key in obj){
var val=obj[key];
if(deep &&typeof val==="object" && val!==null){
obj2[key]=clone(val,deep);
/*判斷物件是否為深克隆,並且判斷物件是否不是function且不為null*/
}else{
obj2[key]=val;}
}
return obj2;
}
方法2:
var obj2=JSON.parse(JSON.stringify(obj1));
/*此方法有缺陷,會過濾掉函式*/
至於測試,就不再放出來了,大家可以試試
相關文章
- 原生js實現物件的深克隆以及淺克隆JS物件
- js中深克隆與淺克隆JS
- js 淺拷貝(淺複製、淺克隆)、深拷貝(深複製、深克隆)JS
- java深克隆(深拷貝)和淺克隆(淺拷貝)Java
- 淺克隆和深克隆的用法
- 淺克隆深克隆舉例解讀
- vue陣列的深克隆和淺克隆Vue陣列
- JAVA 基礎 – clone淺克隆與深克隆Java
- js deep clone 深克隆JS
- js物件實現深淺拷貝!!JS物件
- 三目運算、物件克隆、深拷貝和淺拷貝物件
- 深入理解Java的淺克隆與深克隆Java
- js深度克隆物件JS物件
- js物件的深度克隆!JS物件
- js克隆一個物件JS物件
- 淺談JS中物件的淺複製和深複製JS物件
- JS專題之深淺拷貝JS
- JS複習之深淺拷貝JS
- 詳解js中的物件的深淺拷貝JS物件
- JS物件複製:深複製和淺複製JS物件
- JS物件深度克隆/複製JS物件
- JS型別判斷、物件克隆、陣列克隆JS型別物件陣列
- js之淺拷貝和深拷貝JS
- 什麼要使用克隆、如何實現克隆物件、序列化與反序列實現克隆的好處、深拷貝與淺拷貝物件
- js物件深複製JS物件
- 沒看這篇文章之前,我以為真的懂深克隆和淺克隆。
- 物件導向-由淺入深物件
- js物件如何深比較?JS物件
- js 深淺拷貝知多少JS
- js中的深淺拷貝JS
- 物件深拷貝和淺拷貝物件
- 操作字元、物件方法, 深淺拷貝字元物件
- 淺探js深拷貝和淺拷貝JS
- jquery之物件拷貝深拷貝淺拷貝案例講解jQuery物件
- JAVA設計模式 2【建立型】原型模式的理解與使用、理解淺克隆和深克隆Java設計模式原型
- js 淺拷貝和深拷貝JS
- JS深拷貝與淺拷貝JS
- js 深拷貝和淺拷貝JS