jQueryのgrep関数を使って、配列の内容にフィルタかけてみたメモ。
grep関数の仕様
grep(array,callback,invert)
array -> grepをかけたい配列オブジェクト
callback -> フィルタ条件をもつ関数オブジェクト。戻り値でbooleanを返したげる。
invert -> これをtrueにしてあげると、callback関数の条件を逆にできる。(falseのものだけをフィルタする場合は、trueにするイメージ)
例
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
(function ($) {
// 5以下の要素のみを抽出
var filter = $.grep(arr, function (value) {
return value <= 5;
});
// 3つめのパラメータがtrueなので、6以上の要素のみが抽出される。
var filter = $.grep(arr, function (value) {
return value <= 5;
}, true);
// 以下のように正規表現も使えます。
var ret = $.grep(["100", "200", "300"], function (value) {
return value.match(/[12]00/);
});
})(jQuery);