for
जावास्क्रिप्ट लूप को जल्दी रोकने के लिए , आप उपयोग करते हैं 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
}
}
यदि आप ES2015 (उर्फ ES6) परिवेश में हैं, तो इस विशिष्ट उपयोग के मामले के लिए, आप Array#findIndex
(प्रविष्टि का अनुक्रमणिका खोजने के लिए) या Array#find
(स्वयं प्रविष्टि को खोजने के लिए ) का उपयोग कर सकते हैं , दोनों को शर्मसार / पॉलीफ़िल्ड किया जा सकता है:
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
पहली बार कॉलबैक एक सत्य मान देता है, कॉलबैक के लिए उस सूचकांक को वापस करता है; -1
यदि कॉलबैक कभी भी सत्य मान नहीं देता है तो यह वापस आ जाता है। Array#find
यह तब भी रुक जाता है जब आपको पता चलता है कि आप क्या खोज रहे हैं, लेकिन यह प्रविष्टि लौटाता है, न कि इसका सूचकांक (या undefined
यदि कॉलबैक कभी सत्य मूल्य नहीं लौटाता है)।
यदि आप ईएस 5-संगत वातावरण (या ईएस 5 शिम) का उपयोग कर रहे हैं, तो आप सरणियों पर नए some
फ़ंक्शन का उपयोग कर सकते हैं , जो कॉलबैक तब तक कॉल करता है जब तक कॉलबैक एक सत्य मान नहीं देता है:
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 का उपयोग कर रहे हैं, तो आप jQuery.each
एक सरणी के माध्यम से लूप का उपयोग कर सकते हैं ; यह इस तरह दिखेगा:
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
}
});