如果我有一组数据:
var foo = ["james", "tony", "michael"]
,
如何迭代并将它放在Map()或Object()中效率更高?我想我试图找到一个示例,其中/如何使用哈希表中的数据与在数组中使用它的方式相比。
答案 0 :(得分:0)
以下是一个例子:
假设您有一系列人员:
var persons = [{id: 3, name: "Michael"}, {id: 2, name: "Tony"}, {id: 1, name: "James"}];
在这种情况下,如果你想从这个数组中通过id获取一个人,你可以:
var id = 1;
var person = persons.find(p => p.id === id);
array.find循环遍历你的数组,找到id等于1的人,这就是问题(性能)
使用对象存储您的数据,如下所示:
var persons = {
1: {id: 1, name: "James"},
2: {id: 2, name: "Tony"},
3: {id: 3, name: "Michael"}
}
通过它的身份来获得一个人是有效的:
var id = 2;
var person = persons[id];
简短而有效(无循环)