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