Как получить текущий индекс в карте прототипа 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
}
}
}
Любая помощь, указывающая мне правильное направление, будет принята с благодарностью! Спасибо