arr = [1,2,3];
arr.forEach(function(i){
// last iteration
});
लूप समाप्त होने पर कैसे पकड़ें? मैं कर सकता हूँ, if(i == 3)लेकिन मुझे नहीं पता कि मेरे सरणी की संख्या क्या है।
arr = [1,2,3];
arr.forEach(function(i){
// last iteration
});
लूप समाप्त होने पर कैसे पकड़ें? मैं कर सकता हूँ, if(i == 3)लेकिन मुझे नहीं पता कि मेरे सरणी की संख्या क्या है।
जवाबों:
ES6 + के लिए अद्यतित उत्तर यहाँ है ।
arr = [1, 2, 3];
arr.forEach(function(i, idx, array){
if (idx === array.length - 1){
console.log("Last callback call at index " + idx + " with value " + i );
}
});
उत्पादन होगा:
Last callback call at index 2 with value 3
जिस तरह से यह काम करता है arr.length, सरणी के वर्तमान सूचकांक के खिलाफ परीक्षण कर रहा है, कॉलबैक फ़ंक्शन को पास किया गया ।
2018 ES6 + ANSWER IS :
const arr = [1, 2, 3];
arr.forEach((val, key, arr) => {
if (Object.is(arr.length - 1, key)) {
// execute last item logic
console.log(`Last callback call at index ${key} with value ${val}` );
}
});
Object.isकुछ के रूप में सरल के रूप में दो पूर्णांक somparing के लिए उपयोग करना (जो -0 या NaN भी नहीं हो सकता है) सबसे निश्चित रूप से गड़बड़ है। मुझे बताओ, @SterlingBourne, क्या लाभ हैं?
const arr= [1, 2, 3]
arr.forEach(function(element){
if(arr[arr.length-1] === element){
console.log("Last Element")
}
})
let o = { val:"ue" } ; let arr = [ o, 1, o ]; ...दुर्भाग्य से पहली पुनरावृत्ति होगीarr[arr.length-1] === element
arrपहले से ही प्रत्येक कॉलबैक के लिए बंद होने की गुंजाइश है