Załóżmy, że masz bardzo prostą strukturę danych:
(personId, name)
... i chcesz przechowywać wiele z nich w zmiennej javascript. Jak widzę, masz trzy opcje:
// 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'}
};
Druga lub trzecia opcja jest oczywiście dobrym rozwiązaniem, jeśli masz (lub spodziewasz się, że możesz mieć) więcej niż jedną „wartościową” część do przechowywania (np. Dodając wiek lub coś w tym rodzaju), więc dla dobra argumentacji, załóżmy, że nigdy, przenigdy nie będzie więcej potrzebnych wartości danych w tej strukturze. Który wybierasz i dlaczego?
Edycja : przykład pokazuje teraz najbardziej typową sytuację: niesekwencyjne identyfikatory.
var people = [[1, 'Joe'],[3, 'Sam'],[8,'Eve']];
(która nie daje szybkiego wyszukiwania według identyfikatora, ale jest kolejną opcją przechowywania danych)