jQuery数组处理代码详解(含实例演示) |
本文标签: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); |