javascript पिछले पुनरावृति को पकड़ें



jquery (2)

arr = [1,2,3];
arr.forEach(function(i){
// last iteration
});

लूप समाप्त होने पर कैसे पकड़ें? if(i == 3) कर सकता हूं, लेकिन मुझे नहीं पता होगा कि मेरे सरणी की संख्या क्या है।


Answer #1

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}` ); 
      }
    });

Answer #2

ES6 + के लिए अद्यतित उत्तर here ।

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 के वर्तमान इंडेक्स के खिलाफ, कॉलबैक फंक्शन में उत्तीर्ण किया गया है





jquery