jquery数组(筛选数组元素)

HTML:

<h3>原始显示</h3>
<div id="show5"></div>
<h3>应用grep()方法后(1)</h3>
<div id="show6"></div>
<h3>应用grep()方法后(2)</h3>
<div id="show7"></div>

jquery:

var animals = ['dog','cat','tiger','pig','bird'];
$('#show5').html(animals.join('<br/>'));

          
//筛选出数组元素长度小于5,并且索引大于2的
animals = $.grep(animals, function(n,i){
return n.length<5 && i>2;
});
$('#show6').html(animals.join('<br/>'));
                
                
//筛选出经过上面筛选之后的数组里的元素含有一个p或者多个p的元素
animals = $.grep(animals, function(n){
return n.match(/[p].+/);
});
$('#show7').html(animals.join('<br/>'));

显示结果:

原始显示
dog
cat
tiger
pig
bird
应用grep()方法后(1)
pig
bird
应用grep()方法后(2)
pig

 知识点:

1,grep()方法,此方法分析数组的所有元素,为每个元素分别调用回调函数。在回调函数中编写条件语句,把不想要的元素过滤掉,也就是说,回调函数只返回被过滤数组中我们想要的值。

jQuery.grep( array, function(elementOfArray, indexInArray), [ invert ] )

  array 原始数组,用来被过滤。

  function(elementOfArray, indexInArray) 回调函数,执行筛选任务。该函数有两个参数,第一个参是数组元素,第二个参数是索引。   

  invert 默认false,没有任何效果。如果设置为true,返回结果是与条件语句中不匹配的值。

2,match()正则匹配。

原文地址:https://www.cnblogs.com/wenzichiqingwa/p/2647908.html