es6:
- …
… :扩展运算符(spread)是三个点,将一个数组转为用逗号分隔的参数序列。
Math.max(...[1,2,3]) <==>Math.max(1,2,3) ;
a2=[...a1]; //复制数组(全新的不同地址,浅拷贝:若其中的某一项是引用地址,修改其中任意的值,另一个值都会随之变化)
- Array
Array.from(): 从一个类似数组或可迭代对象中创建一个新的数组实例。
数组去重:ary=[1,2,2,3]; Array.from(new Set(ary))
复制数组:a2=Array.from(a1) (全新的不同地址,浅拷贝)
- Object
Object.assign: 方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。
o2=Object.assign({},o1) (全新的不同地址,浅拷贝)
o2=lodash.cloneDeep(o1) (深拷贝,两对象无关联)--当你需要深拷贝对象中的方法时是可以用lodash.js(提高JS原生方法性能的JS库)中的cloneDeep()方法
o2={...o1} (全新的不同地址,浅拷贝)