最近遇到个问题,从有序数组中取出比特定数值大的数字,有两种方案:
1. 数组倒序循环,依次push到结果数组,循环至比特定数值小的项时停止。
2. 用二分法找到最接近项位置,然后用slice截取。
最终选择了第二种方法,考虑到超长数组所耗费时间,以及js中两种方法的性能比较:
https://measurethat.net/Benchmarks/Show/7075/0/array-slice-vs-for-loop
正好有人测过这个,发出来分享一下。