jQuery.grep(array, callback, [inv])


version 1.0 以降

解説

指定された関数で、配列をフィルタリングします。
配列の要素をイテレーションし、フィルタリング関数が true を返した要素の配列を返します。

フィルタリング関数には2つの引数が与えられます。

  • 1番目 : 配列の要素
  • 2番目 : 配列のインデックス

引数

  • array : 配列
  • callback : フィルタリング関数。trueを返すと、戻り値の配列に追加されます。
  • inv : true を指定するとフィルタリング関数の結果を反転します。

戻り値

  • 配列

例1:配列の要素のうち、プロパティ kind が "鳥類" のオブジェクトをフィルタリングします。

// kind と name をプロパティに持つオブジェクトの配列
var animals = [
    {kind: "鳥類",   name: "ヤマセミ"},
    {kind: "爬虫類", name: "ヤモリ"},
    {kind: "鳥類",   name: "スズメ"},
    {kind: "魚類",   name: "イワナ"}
];

// 鳥類でフィルタリング
var birds = $.grep(animals, function(item, index){
    return item.kind == "鳥類";
});

// 表示
$.each(birds, function(key, value){
    $("#test_result").append(value.kind + ":" + value.name).append("<br />");
});