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()正则匹配。