Como obter o índice atual no mapa de protótipo do Array?

Eu estou usando Array.prototype.map.call para armazenar em uma matriz um monte de objetos de lista de nós:

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

No entanto, também quero armazenar a ordem em que esses elementos aparecem no DOM e não sei como fazer isso.

Eu sei que estou armazenando isso em uma matriz, e a ordem seria o índice da matriz. Por exemplo:

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

mas estou inserindo o objeto json em um banco de dados, e a maneira mais fácil de armazenar as informações de "classificação" é criando uma propriedade "rank" no meu objeto, mas não sei como obter o "índice" do matriz atual.

Algo como:

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

Qualquer ajuda que me aponte para a direção certa será muito apreciada! obrigado

questionAnswers(1)

yourAnswerToTheQuestion