(一)假设有一个数组有10000项,请问访问a[0]需要花费的时间和访问a[9999]花费的时间有什么区别。(直接通过索引访问,不需要遍历)
答案:没区别,时间相同。群里大佬原话(没区别,这是直接拿,相当于根据索引拿);
如果你有疑问,看这里;
let arr = new Array(10000); let t1 = new Date(); console.log(arr[0]); let t2 = new Date(); console.log(t2-t1);//访问arr[0]花费的时间 console.log(arr[9999]); let t3 = new Date(); console.log(t3-t2);//访问arr[9999]花费的时间
结果:
可以发现都是0毫秒,难道取数据不需要花费时间吗,当然需要啦,Date只能精确到毫秒,应该是时间太短了吧。(不是太懂,欢迎斧正)
好吧,不纠结了,你只需要知道通过索引访问一个数组的某个值不管他是arr[0]还是arr[9999]他们的时间都是相同的。