Tôi chỉ cần lấy mục đầu tiên (thực ra, chỉ là khóa đầu tiên) ra khỏi một mảng kết hợp khá lớn trong JavaScript. Đây là cách tôi đang thực hiện nó (sử dụng jQuery):Cách hiệu quả nhất để lấy mục đầu tiên từ một mảng kết hợp trong JavaScript là gì?
getKey = function (data) {
var firstKey;
$.each(data, function (key, val) {
firstKey = key;
return false;
});
return firstKey;
};
Chỉ cần đoán, nhưng tôi muốn nói rằng phải có cách tốt hơn (đọc: hiệu quả hơn) để làm điều này. Bất kỳ đề xuất?
CẬP NHẬT: Cảm ơn câu trả lời và nhận xét sâu sắc! Tôi đã quên JavaScript 101 của tôi, trong đó spec nói rằng bạn không được bảo đảm một thứ tự cụ thể trong một mảng kết hợp. Tuy nhiên, điều thú vị là hầu hết các trình duyệt đều thực hiện theo cách đó. Tôi không muốn sắp xếp mảng trước khi nhận được khóa đầu tiên đó, nhưng nó có thể là không thể tránh khỏi cho trường hợp sử dụng của tôi.
Nếu đó là mảng liên kết, bạn biết mục đầu tiên là gì? –
Tôi nghĩ rằng anh ấy có nghĩa là mục đầu tiên được chèn vào mảng. –
Nếu bạn muốn điều đó, bạn sẽ cần phải xây dựng triển khai Stack của riêng bạn. Các mảng Assoc không giữ lại bất kỳ thứ tự khóa nào. –