欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery数组处理代码详解

程序员文章站 2022-06-19 19:21:13
演示所用数组 var _mozi=['墨家','墨子','墨翟','兼爱非攻','尚同尚贤']; 1. $.each...

演示所用数组
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);