アイデンティティ機能を使用するには、読みライブラリのコードが少し容易になります。 Enumerable#any方法を取る:それは、配列の要素のいずれかがブール値のコンテキストで真であるかどうかをチェックすることができます
any: function(iterator, context) {
iterator = iterator || Prototype.K;
var result = false;
this.each(function(value, index) {
if (result = !!iterator.call(context, value, index))
throw $break;
});
return result;
},
。そのような:
$A([true, false, true]).any() == true
が、それはまた、あなたが真をチェックする前に各要素を処理することができます、あなたが任意の関数の2つのバージョンを記述する必要がありますアイデンティティ機能なし
今
$A([1,2,3,4]).any(function(e) { return e > 2; }) == true
1あなたが前処理していれば、そしてもしあなたがいなければ、一つ。
any_no_process: function(iterator, context) {
var result = false;
this.each(function(value, index) {
if (value)
throw $break;
});
return result;
},
any_process: function(iterator, context) {
return this.map(iterator).any();
},