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+'!');
} 

 

 

未完待绪。。。

posted @ 2018-04-01 09:58  kaixinyufeng  阅读(2138)  评论(0编辑  收藏  举报