方法一
对于内容都是一些基本数据类型( string、number、null、undefined、boolean、symbol(ES6新增) 变量值存放在栈内存中,可直接访问和修改变量的值 )的Array或者Object, 可以使用Array.slice(),Array.concat()或者Object.assign()的方法. 这个方法严格意义上讲属于浅拷贝, 但是确实是在内存的堆中复制了一份, 所以如果Array或者object的元素有引用对象的话(如['name','age',{data: 'xxx', attributes: 'xxx'}], 修改引用对象会导致另一个copy的变量发生改变.
方法二
使用JSON.parse(JSON.stringify( array ))可以将array变量进行深拷贝,但是不能处理函数、正则等对象.