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. Oracle程序备份

    --使用root用户备份 su - root mkdir -p /oracle/data_dump/backup_soft nohup tar -cvf /oracle/data_dump/backu ...

  2. 原生js 基于canvas写一个简单的前端 截图工具

    先看效果 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  3. 做一个有产品思维的研发:Scrapy安装

    每天10分钟,解决一个研发问题. 如果你想了解我在做什么,请看<做一个有产品思维的研发:课程大纲>传送门:https://www.cnblogs.com/hunttown/p/104909 ...

  4. (转)cookie和session的区别

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

  5. XMPP技术之Smack库的自定义消息扩展

    写此文是为了纪念我耗时两天的Smack库应用开发. 太苦恼了,网上找了一堆材料,关于XMPP的消息扩展方面的资料感觉都是出于同一个源头,基本问题还是基于的库版本都是低于4.1版本的讲解. 我是在Sma ...

  6. VMware Workstation 14永久激活密钥

    VMware Workstation是一款功能强大的桌面虚拟计算机软件,简单来说就是最强的中文虚拟机了,可以在桌面上运行不同的操作系统 VMware workstation 14永久激活密钥 : CG ...

  7. DIJKSTRA 临接表

    #include <iostream> #include <algorithm> #include <cmath> #include <cstdio> ...

  8. js let

    <script> var a; // 变量提升 js中的作用域只有在函数中 {} 才称为作用域 if/for循环都不是 都会产生变量提升 console.log(a); { a = 2; ...

  9. 基于vue项目一键国际化通用方案: vue-i18n + i18n-vue-cli(命令行工具)

    鉴于公司有做的国际化需求,对于公司的vue项目,觉得页面还是挺多的.刚开始觉得很简单,就是把vue文件中的中文,替换成变量,提取成一个文件就可以了,谁知道人肉的提取的部分确实太痛苦了,而且容易出错.最 ...

  10. Dataframe 多行合并为一行

    原表数据: 最后4行合并为1行: def ab(df): return','.join(df.values) df = df.groupby(['股票代码','股票简称'])['所属概念'].appl ...