最近在处理一个比较大的数据,看到很多人基本趋向于使用 [数组] 存取数据,而很少使用对象,当然有考虑数组有很多内部封装的方法。那么就有礼这样的思考:
数组:使数据有序存取,有序的,有更多的封装方法;
而对象是简单的键值存取,某种意义上是无序的, 键不重复(声明时,后面重复的键会覆盖前面的),可以说数组是一个特殊的对象。
那么,存放同样的大量数据,取同一个值,它们的(平均)性能会有差别吗?
## 猜想
从数组中取值,需要遍历(先抛开各种遍历算法),
获得对象的键的值,内部自身也会遍历(寻址)到对应的键(键是不重复的)
从遍历的角度来讲, for 和 for...in 都可以遍历,但数组有更多封装的方法遍历( forEach , map 等)
数组作为对象的一个特殊对象,是不是从某种意义上(同等条件、均衡)遍历时, 性能上会更加好呢?
数组:使数据有序存取,有序的,有更多的封装方法;
而对象是简单的键值存取,某种意义上是无序的, 键不重复(声明时,后面重复的键会覆盖前面的),可以说数组是一个特殊的对象。
那么,存放同样的大量数据,取同一个值,它们的(平均)性能会有差别吗?
## 猜想
从数组中取值,需要遍历(先抛开各种遍历算法),
获得对象的键的值,内部自身也会遍历(寻址)到对应的键(键是不重复的)
从遍历的角度来讲, for 和 for...in 都可以遍历,但数组有更多封装的方法遍历( forEach , map 等)
数组作为对象的一个特殊对象,是不是从某种意义上(同等条件、均衡)遍历时, 性能上会更加好呢?