利用Object.assign
(注意:
那Object.assign深拷贝还是浅拷贝呢?
答案是第一级属性深拷贝,第一级以下的级别属性浅拷贝 。
比如
对象的子元素是不可枚举,简单数据类型(string,number,boolean,null,undefined),对其Object.assign是深拷贝;
对象的子元素是可枚举,复杂数据类型(Array,object),对其Object.assign是浅拷贝,如果需要深拷贝,需要对其递归拷贝
)
Object.assign([],[8,9,8,3,2,1,65,44,22,12,1,3]) //去重,返回新的数组 Object.assign([],[1,2,3,4,5,6], [8,9,8,3,2,1,65,44,22,12,1,3]) // 合并去重,返回新的数组
利用Set(es6)
Array.from(new Set([8,9,8,3,2,1,65,44,22,12,1,3])) //Set本身是过滤重复项的,Array.from将其他类型转成数组类型