var arr1 = [1,2,3];
var arr2 = [1,2,3];
console.log($.merge(arr1,arr2)) //[1,2,3,1,2,3],可见数组间只是合并,不会发生相同元素覆盖
var arr1 = [1,2,3];
var obj2 = {
'5' : 5,
length:6
};
console.log($.merge(arr1,obj2)) // 返回的是数组,length属性限制了obj2中数字属性的取舍,另外比如obj2的length为5,没必要'0','1'...'4'全部列出,只有一个'4'也是能参与合并的
//打印[1, 2, 3, undefined, undefined, undefined, undefined, undefined, 5],length是对象和数组的length和
obj = {
'0' : 1,
'1' : 1,
'2' : 1,
'3' : 1,
'4' : 1,
length : 2
}
console.log(obj) //打印的时候'0'-'4'的属性可以显示,但是,合并操作的时候只截取'0'、'1'去合并,这是length限制死了
var arr1 = [1,2,3];
var obj2 = {
'0' : '嗯嗯',
'1' : '哈哈',
'2' : '哦哦',
'3' : '嘿嘿',
length : 2
}
console.log($.merge(obj2,arr1)) //{0: "嗯嗯", 1: "哈哈", 2: 1, 3: 2, 4: 3, length: 5}

总结来说:$.merge(参数1,参数2) 返回参数1的类型,然后length是相加后的length,注意对象参与合并的属性名是数字字符串的,而且看对象的length长度决定

下面来说说没有length的情况:

var arr1 = [1,2,3];
var obj2 = {
'1' : '哈哈'
}
console.log($.merge(arr1,obj2)) //打印的[1,2,3],数组在前,后面的对象没有length直接返回第一个参数数组
var arr1 = [1,2,3];
var obj2 = {
'1' : '哈哈'
}
console.log($.merge(obj2,arr1)) //对象在前,没有length属性,数组合并不了但是会把数组的长度赋值到返回对象的NAN属性中,而且给返回对象添加了length属性值为NAN
{1: "哈哈", NaN: 3, length: NaN}

简单谈谈$.merge()的更多相关文章

  1. C#中的DataTable简单使用Merge

    //不同结构的DataTable追加第二个DataTable数据在对应行后的 简单使用//不同结构的DataTable追加在行后面的合并 DataTable dt = new DataTable(); ...

  2. SQL Server中的Merge关键字

    本文转载地址:http://www.cnblogs.com/CareySon/archive/2012/03/07/2383690.html 简介 Merge关键字是一个神奇的DML关键字.它在SQL ...

  3. [git]merge和rebase的区别

    前言 我从用git就一直用rebase,但是新的公司需要用merge命令,我不是很明白,所以查了一些资料,总结了下面的内容,如果有什么不妥的地方,还望指正,我一定虚心学习. merge和rebase ...

  4. SQL merge into 表合并

    Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根据与源 ...

  5. SQL Server Merge语句的使用

    Merge关键字在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插 ...

  6. 浅谈SQL Server中的三种物理连接操作(HASH JOIN MERGE JOIN NESTED LOOP)

    简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...

  7. SQL Server中的Merge关键字 更新表数据

    简介 Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根 ...

  8. 【转载】SQL Server中的Merge关键字

    简介 原文地址 Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小 ...

  9. SQL Server 使用 Merge 关键字进行表数据同步

    简介 Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根 ...

随机推荐

  1. centOS 7 设置DNS方法 同之前版本不同

    在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了.和CentOS 6下的设置DNS方法不同,有几种方式: 1.使用全新的命令行工具 ...

  2. (转)cookie和session的区别

    存放位置不同 cookie数据存放在客户的浏览器上,session数据放在服务器上. 安全程度不同cookie不是很安全,别人可以解析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用 ...

  3. 在Linux下如何使用openssl生成RSA公钥和私钥对

    在<Java实现RSA密钥对并在加解密.加签验签中应用的实例>中,我们有用Java代码生成RSA密钥对,其实在Linux操作系统中,用openssl也是很容易生成密钥对的. 一.如果在ub ...

  4. 21.命名空间别名限定符::和global全局名称空间限定符

    命名空间别名限定符(::)用于查找标识符,它在指定的别名的命名空间中查找运算符,如下代码是在全局名称空间中查找System.Console.WriteLine("Hello World&qu ...

  5. Cocos Creator 动态设置Canvas的宽度与高度,更改适配

    let c = this.node.getComponent(cc.Canvas);c.fitHeight = true;c.fitWidth = false; let h = 960 * cc.wi ...

  6. python的高级数组之稀疏矩阵

    稀疏矩阵的定义: 具有少量非零项的矩阵(在矩阵中,若数值0的元素数目远多于非0元素的数目,并且非0元素分布没有规律时,)则称该矩阵为稀疏矩阵:相反,为稠密矩阵.非零元素的总数比上矩阵所有元素的总数为矩 ...

  7. .htaccess使用方法介绍

    1..htaccess文件使用前提 .htaccess的主要作用就是实现url改写,也就是当浏览器通过url访问到服务器某个文件夹时,作为主人,我们可以来接待这个url,具体地怎样接待它,就是此文件的 ...

  8. 微信网页浏览器打开链接后跳转到其他浏览器下载APK文件包

    做微信营销活动或者APK下载推广时候,是无法直接下载,做到微信中正常使用呢?这就要借助一些工具来实现有效的操作. 安卓手机的话是通过点击链接,直接跳转出微信.自动打开手机默认的浏览器.但是这个方法IO ...

  9. CentOS 7 安装MySQL5.7.25

    STEP 1. 下载 去往官方下载MySQL包.http://dev.mysql.com mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz [root@study ...

  10. vue-cli@2的原理解析

    作为一个菜鸟,我有一颗好奇的心,每当vue init 的时候,看到那流畅的进度和神奇的结果,心里都充满一窥其本质的期望…… 以下就是我不断的console,大致理出来的一个流程心得,纪录在此,以作备忘 ...