Giả sử bạn có cấu trúc dữ liệu rất đơn giản:
(personId, name)
... và bạn muốn lưu trữ một số trong số này trong một biến javascript. Như tôi thấy, bạn có ba lựa chọn:
// a single object
var people = {
1 : 'Joe',
3 : 'Sam',
8 : 'Eve'
};
// or, an array of objects
var people = [
{ id: 1, name: 'Joe'},
{ id: 3, name: 'Sam'},
{ id: 8, name: 'Eve'}
];
// or, a combination of the two
var people = {
1 : { id: 1, name: 'Joe'},
3 : { id: 3, name: 'Sam'},
8 : { id: 8, name: 'Eve'}
};
Tùy chọn thứ hai hoặc thứ ba rõ ràng là cách tốt nhất nếu bạn có (hoặc mong đợi rằng bạn có thể có) nhiều hơn một phần "giá trị" để lưu trữ (ví dụ: thêm tuổi của chúng hoặc thứ gì đó), vì vậy, để tranh luận, giả sử rằng sẽ không bao giờ có thêm bất kỳ giá trị dữ liệu nào cần thiết trong cấu trúc này. Bạn chọn cái nào và tại sao?
Chỉnh sửa : Ví dụ hiện cho thấy tình huống phổ biến nhất: id không tuần tự.
var people = [[1, 'Joe'],[3, 'Sam'],[8,'Eve']];
(mà không cung cấp cho bạn nhanh chóng nhìn lên bởi id, nhưng là một tùy chọn để lưu trữ dữ liệu)