前端面试之那些稀奇古怪的问题

(一)假设有一个数组有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]他们的时间都是相同的。

猜你喜欢

转载自www.cnblogs.com/tcxq/p/11281772.html