javascript - Jquery扩展深拷贝

标签 javascript jquery

我有两个数组,如下所示。

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

我已经使用 $.extend 方法在两个数组之上进行了扩展。

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

我得到的输出为

resArray=['b','b']

这看起来很奇怪。 Jquery 扩展深复制功能的行为是否正确?请详细说明。

最佳答案

如果您查看jQuery.extend(),您可以解释该行为。它表示该函数将对象作为输入参数。那么,当数组被视为对象时,它会是什么样子呢?在你的情况下:

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

如果对这些使用 jQuery.extend()array1 的属性 1 将被 array2 的属性替换.

关于javascript - Jquery扩展深拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31322115/

相关文章:

javascript - Google Closure 编译器 100% 输入

javascript - 使用 jQuery UI 日期选择器选择下一天和前一天

javascript - 另一个ajax请求中的jquery ajax

javascript - jquery 改变 jquery 添加的东西

javascript - JS if else if else

javascript - 如何在用户界面中枚举接收者?

javascript - jQuery 与 Magento 中的原型(prototype)冲突

javascript - 如何使用 jquery/javascript 动态检查密码验证?

javascript - 查找 JavaScript 中的常见字符串

jquery - 遇到 CSS 溢出问题 :hidden