En python hay un buen atajo para obtener el índice y el elemento de un interable:
>>> arr=['a','b','c'] >>> for idx, arr in enumerate(arr): ... print (idx, arr) ... (0, 'a') (1, 'b') (2, 'c')¿Sería lo siguiente en javascript, o tendría que ser una función de generador en su lugar?
function enumerate1(arr) { let out = []; for (let idx=0; idx<arr.length; idx++) { let elem = arr[idx]; out.push([idx, elem]); } return out; } let arr1 = ['a','b','c']; for (let [idx, elem] of enumerate1(arr1)) { console.log(idx, elem); } // or, a bit more concise let arr2 = ['a','b','c']; const enumerate2 = (arr) => arr.map((idx, elem) => [idx, elem]); for (let [idx, elem] of enumerate2(arr2)) { console.log(idx, elem); }