Jak uzyskać bieżący indeks w mapie prototypowej Array?
Używam Array.prototype.map.call do przechowywania w tablicy kilku obiektów listy węzłów:
function getListings() {
return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
return {
rectangle: e.getBoundingClientRect();
}
}
}
Jednak chcę też przechowywać kolejność, w jakiej te elementy pojawiają się w DOM, i nie wiem, jak to zrobić.
Wiem, że przechowuję to w tablicy, a kolejność będzie indeksem tablicy. Na przykład:
var listings = getListings();
console.log(listings[0]); // rank #1
console.log(listings[1]); // rank #2
// etc...
ale wstawiam obiekt json do bazy danych, a najłatwiejszym sposobem przechowywania informacji o „rankingu” jest utworzenie właściwości „rank” w moim obiekcie, ale nie wiem, jak uzyskać „indeks” bieżąca tablica.
Coś jak:
function getListings() {
return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
return {
rectangle: e.getBoundingClientRect(),
rank: magicFunctionThatReturnsCurrentIndex() // <-- magic happens
}
}
}
Każda pomoc wskazująca mi właściwy kierunek zostanie bardzo doceniona! Dzięki