Tôi đang sử dụng Array.prototype.map.call để lưu trữ trong một mảng một loạt các đối tượng danh sách nút:Làm cách nào để lấy chỉ mục hiện tại trong bản đồ nguyên mẫu Array?
function getListings() {
return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
return {
rectangle: e.getBoundingClientRect();
}
}
}
Tuy nhiên, tôi cũng muốn để lưu trữ các thứ tự trong đó các yếu tố này xuất hiện trong DOM, và tôi không biết làm thế nào để làm điều đó.
Tôi biết rằng tôi đang lưu trữ điều này trong một mảng và thứ tự sẽ là chỉ mục của mảng. Ví dụ:
var listings = getListings();
console.log(listings[0]); // rank #1
console.log(listings[1]); // rank #2
// etc...
nhưng tôi chèn đối tượng json vào cơ sở dữ liệu và cách dễ nhất để lưu trữ thông tin "xếp hạng" là tạo thuộc tính "xếp hạng" trong đối tượng của tôi, nhưng tôi không biết cách lấy "chỉ mục" của mảng hiện tại.
Cái gì như:
function getListings() {
return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
return {
rectangle: e.getBoundingClientRect(),
rank: magicFunctionThatReturnsCurrentIndex() // <-- magic happens
}
}
}
Bất kỳ sự giúp đỡ chỉ cho tôi để đi đúng hướng sẽ được đánh giá cao! Cảm ơn
Tôi nghĩ 'document.querySelectorAll ('li.g') 'nên trả lại các yếu tố đúng theo đúng thứ tự, ví dụ: làm thế nào họ xuất hiện trong DOM. – VisioN
Có, nhưng có cách nào để lấy giá trị bằng số không? Tôi có các phần tử theo thứ tự hiện tại, nhưng tôi muốn có một thuộc tính trong đối tượng JSON của tôi với giá trị bằng số của nó. – ILikeTacos