前出、私はこのコードを持っている:jQueryの.filter():最後
var image_match = $('#my_id image').filter(function(i, el) {
return el.attributes.x.value == x_image;
});
$('#my_id image')
は非常に長い配列(数千)を与えるが、幸運にも私は1つ、一般的にだけで(テストに合格するどのように多くの要素を知っています)私は要素を見つけるとすぐに 'ループ'を止めることができました。問題は、どうやって(あるいは可能なのか)わからないことです。
これは効率を上げるためのもので、効率的なソリューションを探しています。
多分このようなものですが、効率的ですか?すべての要素にそのロジックを適用するために設計されていますよう
var target_number=3;//or whatever
var image_match = $('#my_id image').filter(function(i, el) {
var counter=0;
if (el.attributes.x.value == x_image) {
counter+=1;
};
if (counter==target_number) {
return el.attributes.x.value == x_image;
break;//return (false);//exit
}
return el.attributes.x.value == x_image;
});
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findまたはfindIndex? – mkaatman
正確に重複しますが、これはより良い質問かもしれませんか? https://stackoverflow.com/questions/33264318/can-jquerys-filter-be-used-such-that-it-stops-searching-when-the-first-element/33264354#33264354 –