陣列合併
concat 合併
var a=[1,2,3],b=[4,5,6];
var c=a.concat(b);
console.log(c); //1,2,3,4,5
console.log(a); //1,2,3 不改變本身
迴圈遍歷
var arr1=['a','b'];
var arr2=['c','d','e'];
for(var i=0;iarr1.push(arr2[i]);
console.log(arr1); //['a','b','c','d','e']
var arr1=['a','b'];
var arr2=['c','d','e'];
或者console.log(arr1); //['a','b','c','d','e']
物件合併
$.extend()
var obj1=;
var obj2=;
var c=$.extend(obj1,obj2);
console.log(obj1); //; //obj1 已經被修改
或者var obj3=$.extend({},obj1,obj2);
console.log(obj3); // 不會改變obj1,obj2
遍歷賦值
var obj1=;
var obj2=;
for(var key in obj2)
}obj.assigin()
可以把任意多個的源物件自身的可列舉屬性拷貝給目標物件,然後返回目標物件
使用:object.assign(target,...source)
var obj=;
var copyobj=object,assign({},obj);
console.log(copyobj); //
var o1=;
var o2=;
var o3=;
var obj=object.assign(o1,o2,o3);
console.log(obj); //;
console.log(o1); //; 目標物件自身會改變
物件的淺拷貝
var obj1=;
var obj2=};
$.extend(obj1,obj2); //obj1拷貝了obj2的屬性
console.log(obj1); //}
console.log(obj1.b.b1); //22
obj2.b.b1=44; // obj2被重新賦值
console.log(ob1.b.b1) //44 obj.b僅拷貝了物件的指引,所以受原obj2的影響
物件的深拷貝
var obj1=;
var obj2=};
$.extend(true,obj1,obj2); //第乙個引數設定為 true 表示深複製
console.log(obj1); //}
console.log(obj1.b.b1); //22
obj2.b.b1=44; //obj2重新賦值
console.log(obj1.b.b1); //22 obj1拷貝的obj2的所有的屬性以及值,並不受obj2的影響
js中陣列的合併和物件的合併
vara 1,2,3 b 4,5,6 varc a.concat b console.log c 1,2,3,4,5,6 console.log a 1,2,3 不改變本身 vararr1 a b vararr2 c d e for vari 0 iarr1.push arr2 i console....
js中陣列的合併和物件的合併
深拷貝 var a 1,2,3 b 4,5,6 var c a.concat b console.log c 1,2,3,4,5,6 console.log a 1,2,3 不改變本身var arr1 a b var arr2 c d e for var i 0 i可以把任意多個的源物件自身的可列舉...
js中陣列的合併和物件的合併
var a 1,2,3 b 4,5,6 var c a.concat b console.log c 1,2,3,4,5,6 console.log a 1,2,3 不改變本身 var arr1 a b var arr2 c d e for var i 0 ivar arr1 a b var arr...