javascript - 如何在 javascript 中存储复杂对象?

标签 javascript

我需要能够在 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/

相关文章:

javascript - html 内联事件处理程序和非侵入式事件处理程序之间括号的不同用法

javascript - 从 <div> 添加/删除 <button>?

javascript - 如何在 react native 中停止直到进度条完成

javascript - ReactJS:组件不会在状态更改时重新渲染

javascript - 将 div 附加到响应式父 div

javascript - 使用 jquery 设置高度

javascript - jQuery Mobile - index.html 中的所有页面与单个外部页面 - 什么可以提供更好的性能?

javascript - 将解析后的数据传递给回调以便自由使用

javascript - 从 web worker 和主浏览器线程访问相同的 web sql 数据库

javascript图像onclick不起作用