我有這樣的代碼:jQuery的.filter():年底前退出
var image_match = $('#my_id image').filter(function(i, el) {
return el.attributes.x.value == x_image;
});
$('#my_id image')
給出了一個很長的陣列(幾千),但幸運的是,我知道有多少元素將通過測試(通常只有一個),所以我可以在找到元素後立即停止'循環'。問題是我不知道該怎麼做(或者如果可能的話)。
這是爲了提高效率,所以我正在尋找一個有效的解決方案。
也許是這樣的,但它是否有效?
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 or findIndex? – mkaatman
確切的重複,但是,這可能是一個更好的問題? https://stackoverflow.com/questions/33264318/can-jquerys-filter-be-used-such-that-it-stops-searching-when-the-first-element/33264354#33264354 –