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