Осторожно. Не используйте для ... in для итерации по массиву, используйте его для перебора объектов объекта.
Тем не менее, этот вопрос по-прежнему применяется для ... петель.Как получить счетчик циклов/индекс, используя синтаксис for ... в JavaScript?
Я понимаю, что основной для ... в синтаксисе JavaScript выглядит следующим образом:
for (var obj in myArray) {
// ...
}
Но как я могу получить счетчик цикла/индекс? Я знаю, что я мог бы сделать что-то вроде:
var i = 0
for (var obj in myArray) {
alert(i)
i++
}
или даже хороший, старый:
var i
for (i = 0; 1 < myArray.length; i++) {
var obj = myArray[i]
alert(i)
}
Но я предпочел бы использовать более простой для в цикле. Я думаю, они выглядят лучше и имеют больше смысла.
Но есть ли более простой или элегантный способ?
В Python это легко:
for i, obj in enumerate(myArray):
print i
Не используйте для ... в для массивов. И так или иначе, он выполняет итерации над именами свойств, а не значениями свойств. –
Это массив, а не объект, не так ли? Итак, 'alert (obj)'? –