grep() 查找满足过滤功能数组元素。原始数组不受影响。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>grep() 查找满足过滤功能数组元素。原始数组不受影响。</title>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">

/*
过滤数组

语法 jQuery.grep( array, function(elementOfArray, indexInArray), [ invert ] )
array 该数组用来搜索。
function(elementOfArray, indexInArray) 处理数组中的每个元素,并过滤元素,该函数中包含两个参数,第一个是当前数组元素的值,一个是当前数组元素的下标,即元素索引值。此函数应返回一个布尔值。this将是全局的窗口对象。
invert 是一个布尔数通常是省略的,默认是false,如果设置为true,那么回调函数的返回值的效果刚好相反,返回true的会被去掉。

过滤器函数必须返回'true'以包含在结果数组项。

*/

/*
现在来举个小例子

var arr=$.grep(
[0,1,2,3,4,5,6],
function(n,i){
return n>2
}
);
上面的例子返回[3,4,5,6],但是我们给invert的值为true,例如

var arr=$.grep(
[0,1,2,3,4,5,6],
function(n,i){
return n>2
},
ture
);

所以现在返回的是[0,1,2],也就是被callback函数过滤掉的元素。

 

*/

 

 

 

 

jQuery(function($){

var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
$("div").text(arr.join(", "));

arr = jQuery.grep(arr, function(n, i){
return (n != 5 && i > 4);//1, 9, 4, 7, 3, 8, 6, 9, 1 条件: arr中的元素n的值 != 5 && 数组索引 > 4
});
$("p").text(arr.join(", "));

arr = jQuery.grep(arr, function (a) { return a != 9; });//1, 4, 7, 3, 8, 6, 1
$("span").text(arr.join(", "));



})

</script>
<style type="text/css">
div { color:blue; }
p { color:green; margin:0; }
span { color:red; }
</style>
</head>
<body>
<div></div>
<p></p>
<span></span>
</body>
</html>

转载于:https://www.cnblogs.com/oujunjie123/archive/2012/11/09/2762176.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值