Sto usando Array.prototype.map.call per memorizzare in un array un gruppo di nodo oggetti lista:Come ottenere l'indice corrente nella mappa del prototipo di array?
function getListings() {
return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
return {
rectangle: e.getBoundingClientRect();
}
}
}
Tuttavia, ho anche voglia di memorizzare l'ordine in cui questi elementi appaiono nel DOM, e non so come farlo.
So che sto memorizzando questo in un array, e l'ordine sarebbe l'indice dell'array. Per esempio:
var listings = getListings();
console.log(listings[0]); // rank #1
console.log(listings[1]); // rank #2
// etc...
ma sto inserendo l'oggetto JSON in un database, e il modo più semplice per memorizzare le informazioni "rango" è attraverso la creazione di una proprietà "rango" nel mio oggetto, ma non lo faccio sapere come ottenere "l'indice" dell'array attuale.
Qualcosa di simile:
function getListings() {
return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
return {
rectangle: e.getBoundingClientRect(),
rank: magicFunctionThatReturnsCurrentIndex() // <-- magic happens
}
}
}
Qualsiasi aiuto mi indica la direzione giusta sarà molto apprezzato! Grazie
penso 'document.querySelectorAll ('li.g')' dovrebbe restituire gli elementi a destra nell'ordine corretto, vale a dire il modo in cui appaiono in DOM. – VisioN
Sì, ma esiste un modo per ottenere il valore numerico? Ho gli elementi nell'ordine corrente, ma voglio avere un attributo nel mio oggetto JSON con il suo valore numerico. – ILikeTacos