Jquery扩展了深层副本

时间:2015-07-09 15:37:05

标签: javascript jquery

我有两个数组如下。

var array1=['a','b']
var array2=['b']

我使用$ .extend方法扩展了两个数组。

var resArray=$.extend(true,array1,array2);

我的输出为

resArray=['b','b']

这似乎很奇怪。 Jquery是否正确地扩展了深层复制功能?请详细说明。

1 个答案:

答案 0 :(得分:3)

如果查看jQuery.extend(),可以解释一下这种行为。它表示该函数将对象作为输入参数。那么当一个数组被视为一个对象时,它是如何看待的?在你的情况下:

var array1 = { 1 : 'a', 2 : 'b'}
var array2 = { 1 : 'b'}

如果您对jQuery.extend()使用1array1的atttribute array2将被for value in my_list[0].itervalues(): print map(your_func,value) 替换。