在 jQuery 中,我们可以使用$.grep()方法来过滤数组中不符合条件的元素。
语法:
说明:
举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function(){
var arr = [3, 9, 1, 12, 50, 21];
var result = $.grep(arr, function(value,index){
return value > 10;
},false);
console.log(result);
})
</script>
</head>
<body>
</body>
</html>
默认情况下,控制台输出结果如图 1 所示。
当我们把第 3 个参数改为 true 时,控制台输出结果如图 2 所示。
在实际开发中,$.grep()方法常用于获取两个数组中相同的部分或不相同的部分,请看下面的例子。
举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function(){
var a = [3, 9, 1, 12, 50, 21];
var b = [2, 9, 1, 16, 50, 32];
var result = $.grep(a, function(value,index){
if(b.indexOf(value) >=0){
return true;
}
},false);
console.log(result);
})
</script>
</head>
<body>
</body>
</html>
控制台输出结果如图 3 所示。
上面这个例子表示获取数组 a 中与数组 b 中相同的部分。如果想要获取数组 a 中与数组 b 中不同的部分,只须把$.grep()方法的第 3 个参数改为 true 即可。