Jquery 数组操作
Jquery 数组常用操作
参考博客:http://www.jb51.net/article/43164.htm
1. $.each(array, [callback]) 遍历[常用]
解释:
不同于遍历JQuery 对象的 $().each() 方法,此方法可用于遍例任何对象(不仅仅是数组).
回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容.
如果需要退出 each 循环可使回调函数返回 false, 其它返回值将被忽略.
each遍历,在平常的事件处理中,是for循环的变体,但比for循环强大.在数组中,它可以轻松的攻取数组索引及对应的值.例:
var _mozi=['墨家','墨子','墨翟','兼爱非攻','尚同尚贤']; //本文所用到的数组, 下同 $.each(_mozi,function(key,val){ //回调函数有两个参数,第一个是元素索引,第二个为当前值 alert('_mozi数组中 ,索引 : '+key+' 对应的值为: '+val); });
相对于原生的for..in,each更强壮一点. for..in也可以遍历数组,并返回对应索引,但值是需要通过arrName[key]来获取
2. $.grep(array, callback, [invert]) 过滤数组[常用]
解释: 使用过滤函数过滤数组元素.此函数至少传递两个参数(第三个参数为true或false,对过滤函数返回值取反): 待过滤数组和过滤函数. 过滤函数必须返回 true 以保留元素或 false 以删除元素. 另外,过滤函数还可以是可设置为一个字符串;
var arr = [1, 2, 3, 4, 5]; var removeItem = 2; arr = $.grep(arr, function(value) { return value != removeItem; });
3 .$.inArray(val,array)判断值是否存在于数组中[常用]
解释: 确定第一个参数在数组中的位置, 从0开始计数(如果没有找到则返回 -1
indexOf()返回字符串的首次出现位置,而$.inArray()返回的是传入参数在数组中的位置,同样的,如果找到的,返回的是一个大于或等于0的值,若未找到则返回-1.可用它判断某个值是否存在于数组中
var _exist=$.inArray('墨子',_mozi); var _inexistence=$.inArray('卫鞅',_mozi) if(_exist>=0){ alert('墨子 存在于数组_mozi中,其在数组中索引值是: '+_exist); } if(_inexistence<0){ alert('卫鞅 不存在于数组_mozi中!,返回值为: '+_inexistence+'!'); }
未完待绪。。。
体胖还需勤跑步,人丑就该多读书!