Как получить индекс элемента при переборе массива в JavaScript

Проблема с доступом к индексу в JavaScript

В PHP я легко могу получить индекс элемента при переборе массива:

foreach ($data as $index=>$item) {
    // здесь я могу использовать $index
}

Но в JavaScript я не знаю как получить позицию элемента во время итерации. Мне нужно использовать именно индекс элемента в массиве. Как это сделать правильно в обычном JavaScript или с помощью jQuery? Есть ли стандартный способ получить номер позиции при переборе массива?

let items = ['a', 'b', 'c'];
// как получить индекс здесь?
for (let element of items) {
    console.log(element); // получаю только значение
}

Подскажите правильный синтаксис для получения индекса элемента.

А еще есть метод entries() - он возвращает массив пар [индекс, значение]:

let items = ['a', 'b', 'c'];
for (let [index, value] of items.entries()) {
    console.log(index, value);
}

Так можешь оставить привычный for…of и при этом получить доступ к индексу. Удобно, если привык к такому стилю.

Можно также использовать цикл for…in для перебора индексов массива:

let items = ['a', 'b', 'c'];
for (let index in items) {
    console.log(index, items[index]);
}

Но учти, что индекс возвращается как строка. Если нужен числовой индекс, используй parseInt(index) или +index. Хотя это работает, forEach или обычные циклы for обычно смотрятся лучше.

если тебе нужен индекс элемента, самый простой способ - использовать обычный for с счетчиком:

let items = ['a', 'b', 'c'];
for (let i = 0; i < items.length; i++) {
    console.log(i, items[i]); // i - индекс, items[i] - значение
}

можно еще использовать forEach с двумя аргументами:

items.forEach((element, index) => {
    console.log(index, element);
});

Лично мне forEach нравится больше - выглядит аккуратнее.