我需要能够在 javascript 中存储对象并快速访问它们。例如,我有一个车辆列表,定义如下:
{ "name": "Jim's Ford Focus", "color": "white", isDamaged: true, wheels: 4 }
{ "name": "Bob's Suzuki Swift", "color": "green", isDamaged: false, wheels: 4 }
{ "name": "Alex's Harley Davidson", "color": "black", isDamaged: false, wheels: 2 }
可能会有数百个这样的车辆条目,这些条目可能会被访问数千次。我需要能够尽快访问它们,最好是以一些有用的方式访问它们。
例如,我可以将对象存储在一个数组中。然后我可以简单地说 vehicles[0]
来获取 Ford Focus 条目,vehicles[1]
来获取 Suzuki Swift 条目,等等。但是,我怎么知道哪个入口是福特福克斯?
我只想简单地问“帮我找吉姆的福特福克斯”,然后尽快将元素还给我。例如,在另一种语言中,我可能会使用按名称索引的哈希表。我怎样才能在 javascript 中做到这一点?或者,有更好的方法吗?
谢谢。
最佳答案
Javascript 对象可以用作哈希表:
var nameIndex = {};
for (var i = 0; i < cars.length; i++)
nameIndex[cars[i].name] = cars[i];
//Later:
var someName = "Jim's Ford Focus";
var car = nameIndex[someName];
关于javascript - 如何在 javascript 中存储复杂对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2710967/