假设您有一个非常简单的数据结构:
(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。
每个解决方案都有其用例。
我认为,如果您要定义一对一的关系(例如简单的映射),则第一种解决方案是好的,尤其是当您需要使用该键作为查找键时。
一般而言,第二种解决方案对我来说是最健壮的,如果不需要快速查找键,我可能会使用它:
如果您需要快速的查找时间+上面列出的一些优点(传递数据,自我描述),那么第三种方法将是不错的选择。但是,如果您不需要快速的查找时间,则麻烦得多。同样,无论哪种方式,如果对象中的id与
people中 的id有所不同,都将有出错的风险。
问题内容: 我有: 我想将其转换为该对象: 在Python中,有一个简单的习惯用法。jQuery或纯Javascript中是否有类似的东西,还是我必须做很长一段路? 问题答案: 简单的JS函数将是: 当然,您实际上也可以实现zip等功能,因为JS支持更高阶的类型,这使这些函数语言主义变得容易:D
问题内容: 在我的脚本中,有必要创建一个哈希表,我在Google中搜索了此表。为此,大多数人都建议使用JavaScript对象。问题是,哈希表中的某些键具有“”。在他们中。我可以使用关联数组轻松创建这些键。 我不明白为什么关联数组不好。在我查看的站点中提到的第一件事是length属性。我来自使用散列的Perl背景。最常见的用途是从键中获取值,检查键是否存在,删除键值对,添加键值对。如果这些是我的常
问题内容: 我想这样转换一个对象: 分成键值对数组,如下所示: 如何在JavaScript中将对象转换为键值对数组? 问题答案: 您可以使用和执行此操作
我要转换如下所示的对象: 键值对的数组,如下所示: 如何在JavaScript中将对象转换为键值对数组?
我有一个带有两个数组的javascript对象,如图所示, 我试图按排名1,2,3进行排序。。但保留与等级相关的名称。 我应该重新配置我的对象以使排序更容易吗? 我目前正在使用 按顺序排列,但名称不保留。 感谢大家的帮助。谢谢
问题内容: 给定一个JavaScript对象,如何将其转换为对象数组(每个对象都带有键,值)? 例: 结果像: 问题答案: var data = { firstName: ‘John’, lastName: ‘Doe’, email: 'john.doe@gmail.com‘ }