fxxqq / 6fedcom.github.io

frank的前端养成记(hexo博客)
https://6fed.com
22 stars 5 forks source link

Javascript合并数组和对象的方法 #10

Open fxxqq opened 6 years ago

fxxqq commented 6 years ago

合并数组的方法

arrayObject.concat(arrayX,arrayX,......,arrayX)

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"

var arr3 = new Array(2)
arr3[0] = "William"
arr3[1] = "Franklin"

document.write(arr.concat(arr2,arr3))

输出:

George,John,Thomas,James,Adrew,Martin,William,Franklin

合并数组的方法

ES6之前就循环遍历咯,ES6浅拷贝的话可以用Object.assign();当然你如果项目里有jquery/underscore/lodash甚至是angular一般都有类似的extend方法咯。 像jQuery,$.extend(obj1,obj2),大概是这样。

es2015 Object.assign()
var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };

var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1);  // { a: 1, b: 2, c: 3 }, 注意目标对象自身也会改变。
a = {'a': 1};
b = {'b': 1};
c = $.extend(a, b)
或
c = $.extend({}, a, b)