美文网首页
筛选数组

筛选数组

作者: yyshang | 来源:发表于2016-12-29 15:18 被阅读52次

最近在看关于jq的相关内容正好看到了关于数组筛选的相关内容就做了些整理。
筛选数组是对需要频繁处理大量数据的应用来说的并且遍历数组主要是查找(筛选)匹配一定标准的元素。数组中我们在查找高于或低于特定临界值,或者可能是匹配一些数据时,jq就提供了一个函数$.grep()。

$.grep() 方法是按照某种条件来过滤数组。
$.grep(array,callback,invert)  //调用的方式

array:待过滤数组;
callback:处理数组中的每个元素,并过滤元素,该函数中包含两个参数,第一个是当前数组元素的值,一个是当前数组元素的下标,即元素索引值。此函数应返回一个布尔值。
invert:布尔型可选项,默认值false,值为true或false, 如果 “invert” 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当”invert” 为 true,则返回过滤函数中返回 false 的元素集。

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函数过滤掉的元素。
再来个例子看看$.grep()

var nums = '1,2,3,4,5,jQuery,CSS,5'.split(',');

如果我们想找出其中的字符串,我们可以直接使用 $.grep() 方法来完成:

nums = $.grep(nums, function (num, index) {
 // num = 数组元素的当前值  
// index = 当前值的下标
 return isNaN(num);});   //isNaN() 函数用于检查其参数是否是非数字值。
console.log(nums); //结果为: ["jQuery", "CSS"] 

看到这肯定都想到了$.map() 方法也可将一个数组转换为另一个数组,所以,使用 $.map() 方法也可以完成上面例子中的要求,如下:

nums = $.map(nums, function (num, index) { 
//和$.grep() 的区别
 //return isNaN,得到结果为:[true, true] 
return isNaN(num) ? num : null;});
console.log(nums); // ["jQuery", "CSS"] 

相关文章

  • 数组筛选

    筛选出B数组中不同于A数组中的元素 结果为 arrayB = @[@"d"]

  • 筛选数组

    最近在看关于jq的相关内容正好看到了关于数组筛选的相关内容就做了些整理。筛选数组是对需要频繁处理大量数据的应用来说...

  • 数组filter和map函数

    3.数组高级扩展函数 ES6 针对 数组 提供了 很多高级筛选方法image.png 3.1 filter筛选方法...

  • iOS开发RAC对数组的使用

    对数组的操作:遍历、筛选、映射、替换1、遍历 2、筛选 3、映射 4、替换

  • JS-数组

    数组 检测是否为数组的方法 添加删除数组元素方法 筛选数组 //一个数组[1300,2400,2500,1100,...

  • 数组内置筛选方法

    every() every()检测数值元素的每个元素是否都符合条件,返回的是布尔值 对数组中每一项遍历,每一项返回...

  • 2018-03-15 数组。

    map 与 filter 的区别:map是处理数组filter是筛选数组 splice:会改变原数组,第一个参数为...

  • jQuery数组操作

    给数组添加元素 移除数组的第一个元素 移除数组最后一个元素 删除数组中的某个元素 splice 数组遍历 数组筛选...

  • numpy -- 用于布尔型数组的方法

    用于布尔型数组的方法 用于对筛选数据的统计

  • About Array operation

    1.删除两个数组重复的值(不保留重复的) 2.筛选出两个数组重复部分 3.筛选已经选择过的active项 (需求是...

网友评论

      本文标题:筛选数组

      本文链接:https://www.haomeiwen.com/subject/zhfpvttx.html