arr = [1,2,3];
arr.forEach(function(i){
// last iteration
});
Jak złapać koniec pętli? Mogę to zrobić, if(i == 3)
ale mogę nie wiedzieć, jaki jest numer mojej tablicy.
javascript
jquery
Jamie Anderson
źródło
źródło
arr
jest już w zakresie jako zamknięcie dla każdego wywołania zwrotnegoODPOWIEDŹ 2018 ES6 + JEST :
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}` ); } });
źródło
Object.is
do czegoś tak prostego, jak oddzielenie dwóch liczb całkowitych (które nie mogą być nawet -0 lub NaN) jest zdecydowanie nieuporządkowane. Powiedz mi, @SterlingBourne, jakie są korzyści?const arr= [1, 2, 3] arr.forEach(function(element){ if(arr[arr.length-1] === element){ console.log("Last Element") } })
źródło
let o = { val:"ue" } ; let arr = [ o, 1, o ]; ...
niestety pierwsza iteracja będzie miałaarr[arr.length-1] === element