jQuery数组处理代码详解(含实例演示)
演示所用数组
代码如下:
var _mozi=['墨家','墨子','墨翟','兼爱非攻','尚同尚贤'];
1. $.each遍历示例[常用]
代码如下:
$.each(_mozi,function(key,val){ //回调函数有两个参数,第一个是元素索引,第二个为当前值 alert('_mozi数组中 ,索引 : '+key+' 对应的值为: '+val); });
2. $.grep()过滤数组[常用]
代码如下:
$.grep(_mozi,function(val,key){ //过滤函数有两个参数,第一个为当前元素,第二个为元素索引 if(val=='墨子'){ alert('数组值为 墨子 的下标是: '+key); } }); var _moziGt1=$.grep(_mozi,function(val,key){ return key>1; }); alert('_mozi数组中索引值大于1的元素为: '+_moziGt1); var _moziLt1=$.grep(_mozi,function(val,key){ return key>1; },true); //此处传入了第三个可靠参数,对过滤函数中的返回值取反 alert('_mozi数组中索引值小于等于1的元素为: '+_moziLt1);
3. $.map()按给定条件转换数组[一般]
代码如下:
var _mapArrA=$.map(_mozi,function(val){ return val+'[新加]'; }); var _mapArrB=$.map(_mozi,function(val){ return val=='墨子' ? '[只给墨子加]'+val : val; }); var _mapArrC=$.map(_mozi,function(val){ //为数组元素扩展一个新元素 return [val,(val+'[扩展]')]; }); alert('在每个元素后面加\'[新加]\'字符后的数组为: '+ _mapArrA); alert('只给元素 墨子 添加字符后的数组为: '+ _mapArrB); alert('为原数组中每个元素,扩展一个添加字符\'[新加]\'的元素,返回的数组为 '+_mapArrC);
4. $.inArray()判断值是否存在于数组中[常用]
代码如下:
var _exist=$.inArray('墨子',_mozi); var _inexistence=$.inArray('卫鞅',_mozi) if(_exist>=0){ alert('墨子 存在于数组_mozi中,其在数组中索引值是: '+_exist); } if(_inexistence<0){ alert('卫鞅 不存在于数组_mozi中!,返回值为: '+_inexistence+'!'); }
5. $.merge()合并两个数组[一般]
代码如下:
//原生concat()可能比它还简洁点 _moziNew=$.merge(_mozi,['鬼谷子','商鞅','孙膑','庞涓','苏秦','张仪']) alert('合并后新数组长度为: '+_moziNew.length+'. 其值为: '+_moziNew);
6. $.unique()过滤数组中重复元素[不常用]
代码如下:
var _h2Arr=$.makeArray(h2obj); //将数组_h2Arr重复一次 _h2Arr=$.merge(_h2Arr,_h2Arr); var _curLen=_h2Arr.length; _h2Arr=$.unique(_h2Arr); var _newLen=_h2Arr.length; alert('数组_h2Arr原长度值为: '+_curLen+' ,过滤后为: '+_newLen +' .共过滤 '+(_curLen-_newLen)+'个重复元素')
7. $.makeArray()类数组对象转换为数组[不常用]
代码如下:
var _makeArr=$.makeArray(h2obj); alert('h2元素对象集合的数据类型转换为: '+_makeArr.constructor.name);
8. $.toArray()将所有DOM元素恢复成数组[不常用]
代码如下:
var _toArr=$('h2').toArray(); alert('h2元素集合恢复后的数据类型是: '+_toArr.constructor.name);
相关推荐
tthappyer 2020-07-25
89463661 2020-03-01
mapdigit 2014-05-29
xiuping0 2015-12-28
罗惠东 2017-08-16
gxr 2018-11-20
yaasshole 2018-10-08
Allenyhy 2017-11-04
Hhjian 2017-08-16
81497307 2016-12-04
fayeyang 2016-10-31
卧斋 2016-06-17
cithegod 2016-01-19
卡奇莫多 2015-12-28
msyndra 2015-12-22
Gcalolin 2019-06-27
卧斋 2015-06-16
lkj0 2015-05-10
87493063 2015-04-22