特定の$.inArray値に対してのみテストする (同等性をチェックする) ため、この場合は役に立ちません。
述語を最初の引数として処理できるように inArray を変更できます。このような「ベース ライブラリ」の変更は慎重に行う必要があり、別の関数を作成することをお勧めします。ただし、この特定のケースでは、関数を渡す機能は他のjQuery関数の機能に似ていると感じています
var org_inArray = $.inArray
$.inArray = function(value, array, fromIndex){
if($.isFunction(value)){
var start = fromIndex || 0,
matches = $.grep(myArray.slice(start), function(e,i) {
if(value(e,i)) return i;
}
return matches ? matches[0] : -1;
} else {
arguments.length > 2 ?
org_inArray.call($,value,array,fromIndex) :
org_inArray.call($,value,array)
}
}
その後、次のように使用できます
if($.inArray( function(e) { return e[2] > 5;}, myArray) !== -1){
}