最近做项目,代码审查时遇到一个往数组中指定位置添加数据项的问题。因为本身数据量比较大,渲染开销比较大,在排查操作卡顿的现象原因时猜测是不是数据处理效率低问题,就做了一下测试,仅此记录一下。
两种操作方式
1. push + sort
一开始采取了一个比较笨的办法,就是先把数据项加到数组里面,再根据位置排序。
使用10000条数据进行测试:
选取6次操作时间取平均值:0.27734375
2. 直接使用数组的splice方法
选取6次操作时间取平均值:0.002848307
结论
向数组指定位置添加数据项时,建议直接使用splice方法。
to myself: 以后在写代码时,应该多多关注效率问题,而不应该只是局限在实现上。over~