Как получить текущий индекс в карте прототипа Array?

Я использую Array.prototype.map.call для хранения в массиве группы объектов списка узлов:

function getListings() {
    return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
         return {
             rectangle: e.getBoundingClientRect();
         }
    }
}

Однако я также хочу сохранить порядок, в котором эти элементы появляются в DOM, и я не знаю, как это сделать.

Я знаю, что я храню это в массиве, и порядок будет индексом массива. Например:

var listings = getListings();
console.log(listings[0]); // rank #1
console.log(listings[1]); // rank #2
// etc...

но я вставляю объект json в базу данных, и самый простой способ сохранить информацию «rank» - создать свойство «rank» в моем объекте, но я не знаю, как получить «index» для текущий массив.

Что-то вроде:

function getListings() {
    return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
         return {
             rectangle: e.getBoundingClientRect(),
             rank: magicFunctionThatReturnsCurrentIndex() // <-- magic happens
         }
    }
}

Любая помощь, указывающая мне правильное направление, будет принята с благодарностью! Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос