jq深拷贝数组

通过传递第一个参数true执行了深拷贝对象中的数组(或者Object)信息.


var Person = {
    name   : 'lee',
    skills : ['js','css','html']
}
var man = $.extend(true,{},Person,{name:'zhang'});

在工作中,经常需要深拷贝数组。网络上大部分代码都是靠for 循环来将值赋给新的Array,
遇到数组中有Objec还需要又for in一次,将属性赋值新的Object,异常麻烦。
用了jquery的$.extend 简直感动到想哭。
一句话直接全搞定!

var arr = [['a','b'],0,1,2,{name:'old'}];
var newArr = $.extend(true, [], arr);
 
newArr[4].name = 'new';
newArr[0].push('c');
console.log(newArr);
console.log(arr);

请使用手机"扫一扫"x

posted @ 2017-08-03 14:17  金桔柠檬茶  阅读(210)  评论(0编辑  收藏  举报