我有两个数组如下。
var array1=['a','b']
var array2=['b']
我使用$ .extend方法扩展了两个数组。
var resArray=$.extend(true,array1,array2);
我的输出为
resArray=['b','b']
这似乎很奇怪。 Jquery是否正确地扩展了深层复制功能?请详细说明。
答案 0 :(得分:3)
如果查看jQuery.extend(),可以解释一下这种行为。它表示该函数将对象作为输入参数。那么当一个数组被视为一个对象时,它是如何看待的?在你的情况下:
var array1 = { 1 : 'a', 2 : 'b'}
var array2 = { 1 : 'b'}
如果您对jQuery.extend()
使用1
,array1
的atttribute array2
将被for value in my_list[0].itervalues():
print map(your_func,value)
替换。