for
JavaScript'te bir döngüyü erken durdurmak için şunları kullanırsınız break
:
var remSize = [],
szString,
remData,
remIndex,
i;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remIndex = -1; // Set a default if we don't find it
for (i = 0; i < remSize.length; i++) {
// I'm looking for the index i, when the condition is true
if (remSize[i].size === remData.size) {
remIndex = i;
break; // <=== breaks out of the loop early
}
}
Bir ES2015 (ES6 olarak da bilinir) ortamındaysanız, bu özel kullanım durumu için, Array#findIndex
(girişin dizinini bulmak için) veya Array#find
(girişin kendisini bulmak için) kullanabilirsiniz; her ikisi de parlatılabilir / çoklu doldurulabilir:
var remSize = [],
szString,
remData,
remIndex;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remIndex = remSize.findIndex(function(entry) {
return entry.size === remData.size;
});
Array#find
:
var remSize = [],
szString,
remData,
remEntry;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remEntry = remSize.find(function(entry) {
return entry.size === remData.size;
});
Array#findIndex
geri arama ilk kez doğru bir değer döndürdüğünde durdurur ve bu çağrı için dizini geri aramaya döndürür; Döndürdüğü -1
geri arama asla bir truthy değeri verirse. Array#find
aradığınız şeyi bulduğunda da durur, ancak indeksini değil girdiyi döndürür (veya undefined
geri arama hiçbir zaman gerçek bir değer döndürmezse).
ES5 uyumlu bir ortam (veya bir ES5 dolgusu) kullanıyorsanız, diziler üzerinde geri arama doğru bir değer döndürene kadar bir geri aramayı çağıran yeni some
işlevi kullanabilirsiniz :
var remSize = [],
szString,
remData,
remIndex;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remIndex = -1; // <== Set a default if we don't find it
remSize.some(function(entry, index) {
if (entry.size === remData.size) {
remIndex = index;
return true; // <== Equivalent of break for `Array#some`
}
});
JQuery kullanıyorsanız, jQuery.each
bir dizide döngü yapmak için kullanabilirsiniz ; bu şuna benzer:
var remSize = [],
szString,
remData,
remIndex;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remIndex = -1; // <== Set a default if we don't find it
jQuery.each(remSize, function(index, entry) {
if (entry.size === remData.size) {
remIndex = index;
return false; // <== Equivalent of break for jQuery.each
}
});