【发布时间】:2010-10-15 20:15:03
【问题描述】:
假设你有一个非常简单的数据结构:
(personId, name)
...并且您希望将其中的一些存储在 javascript 变量中。在我看来,您有三个选择:
// 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'}
};
如果您拥有(或期望您可能拥有)多个“价值”部分来存储(例如,增加他们的年龄或其他东西),那么第二或第三个选项显然是要走的路,所以,为了争论,让我们假设这个结构中永远不需要更多的数据值。你会选择哪一个?为什么?
编辑:该示例现在显示了最常见的情况:非顺序 ID。
【问题讨论】:
-
还有一个二维数组:
var people = [[1, 'Joe'],[3, 'Sam'],[8,'Eve']];(它不能让您通过 id 快速查找,但它是存储数据的另一种选择)
标签: javascript data-structures