假设有这样一些数据,包含了id和value两个值其中id是唯一的,用以下两种存储方式哪一种获取某一个id速度更快一些?
var array = [{id:'id1',value:1},{id:'id2',value:2},{id:'id3',value:3}];
var obj = {
'id1': 1,
'id2': 2,
'id3': 3
};
比如我要获取id = 'id2'的value,是用obj['id2']快还是循环遍历array快?
我认为是obj['id2']比较快,不知道js中Object的实现是不是类似Java的HashMap?
数据结构怎么设计不能单纯由速度决定。数组存的是一类数据,虽然不是不是强制性的,但这么设计对程序的可维护性和可读性比较好。对象是把一个对象的属性放到一起,把不同对象的相同属性放到一个新对象中,这个做法没问题,但是不是特别科学,在后续开发可能产生bug,并且不好维护。