jq-$.extend方法使用说明

jQuery的方法extend在扩展数组、对象方面有了不起的作用。


1. 数组extend

  • arr2的长度小于arr1
var arr1=[1,2,3];
var arr2=[4,5,423,423];
$.extend(arr1,arr2)
//返回值为[4,5,3],同时改变arr1

数组arr1拼接arr2的时候,在对应的索引位置,arr1的值替换为arr2对应索引值,上面代码可以等价于arr1[0]=arr2[0],arr[1]=arr[1];

  • arr2的长度大于arr1
var arr1=[1,2,3];
var arr2=[4,5,53,534534,534534];
$.extend(arr1,arr2)
//返回值为[4, 5, 53, 534534, 534534],同时改变arr1

当arr2的长度大于arr1的时候,超过arr1索引位置的值继续以arr2相应索引值补充,相当于arr1=arr2;

  • 数组中有空值
var arr2=[1,2,3,'',];
var arr1=[4,5,53,534534,534534];
$.extend(arr1,arr2)
//arr1存在空值与空字符串,返回值为[4, 5, 53, 534534, 534534],同时改变arr1
var arr1=[1,2,3];
var arr2=[4,,53,534534,534534];
$.extend(arr1,arr2)
//返回值[4, 2, 53, 534534, 534534],arr2的空位符不能替代arr1中相应的索引值,但是位置依然保留
var arr1=[1,2,3];
var arr2=[4,,,,53,534534,534534];
$.extend(arr1,arr2)
//返回值[4, 2, 3, undefined , 53, 534534, 534534],超出的空位符在arr1与arr2都没有赋值
  • arr2为字面量数组
var arr1=[1,2,3]
$.extend(arr1,['fsa'])
//结果为['fsa', 2, 3],同等位置进行覆盖

2. 对象extend

  • obj1与obj2没有共同属性
var obj1={a:1,b:2,c:3};
var obj2={d:4};
$.extend(obj1,obj2);
//返回值{a: 1, b: 2, c: 3, d: 4},追加obj2中的异样属性,obj1值改变为返回值,obj2依然不变
  • obj1与obj2有共同属性
var obj1={a:1,b:2,c:3};
var obj2={d:4,b:'你好'};
$.extend(obj1,obj2);
//返回值{a: 1, b: "你好", c: 3, d: 4},属性相同的返回obj2的属性值
  • obj1与obj2有空字符串
var obj1={a:1,b:2,c:3};
var obj2={d:4,b:''};
$.extend(obj1,obj2);
//返回值{a: 1, b: "", c: 3, d: 4},只要有同样属性,即使为空,返回值依然以obj2的为标准

3. 数组与对象extend

  • 数组拼接对象
var arr=[1,2,3];
var obj={a:4};
$.extend(arr,obj)
//结果为[1,2,3],拼接对象的数组并没有变化
  • 对象拼接数组
var arr=[1,2,3];
var obj={a:4};
$.extend(obj,arr)
//结果为{0: 1, 1: 2, 2: 3, a: 4},拼接数组的对象,会从0开始自动添加索引作为属性名,其属性值则为数组相应的索引值
  • 对象拼接数组(数组有空值)
var arr=[1,2,3,,''];
var obj={a:4};
$.extend(obj,arr)
//结果为{0: 1, 1: 2, 2: 3, 4: "", a: 4}空值位置进行空出,不占位,空字符占位,值保持不变
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值