标签:有一个 参与 一个 决定 fine code 总结 undefined 简单
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长度决定
标签:有一个 参与 一个 决定 fine code 总结 undefined 简单
原文地址:https://www.cnblogs.com/wchjdnh/p/10763451.html