Nếu bạn không sử dụng các yếu tố đánh số liên tục, bạn sẽ phải lặp qua cho đến khi bạn nhấn đầu tiên:
var firstIndex = 0;
while (firstIndex < myarray.length && myarray[firstIndex] === undefined) {
firstIndex++;
}
if (firstIndex < myarray.length) {
var firstElement = myarray[firstIndex];
} else {
// no elements.
}
hoặc một số xây dựng tương đương ngớ ngẩn. Điều này giúp bạn trở thành chỉ mục của mục đầu tiên mà bạn có thể hoặc không quan tâm đến nó.
Nếu đây là điều bạn cần làm thường xuyên, bạn nên giữ tham chiếu hướng tới chỉ số hợp lệ đầu tiên hiện tại, do đó, điều này trở thành hoạt động O (1) thay vì O (n) mỗi lần. Nếu bạn thường xuyên phải lặp qua một mảng thực sự thưa thớt, hãy xem xét một cấu trúc dữ liệu khác, như giữ một đối tượng bên cạnh nó sao chép lại các kết quả thứ tự đến các chỉ mục hoặc thứ gì đó phù hợp với dữ liệu của bạn.
Nguồn
2010-08-25 23:05:36
gì bạn đang sử dụng như chỉ số mảng sau đó? –