首页 > Web开发 > 详细

JS中的Set,Map,Array查询速度比较:Set>Map>Array

时间:2021-06-25 17:14:52      阅读:18      评论:0      收藏:0      [点我收藏+]

问题

  • 今天做一个算法题,发现用arr.includes()查询超时,而改为set.has()查询就能通过,想弄明白Set,Map,Array查询的速度差别

代码

let len=10000
let arr=new Array(len).fill(0)
let set=new Set(arr)
let map=new Map()
for(let i=0;i<len;i++){
    arr[i]=i
    map.set(i,arr[i])
}
// 比较时间
console.log(‘arr‘)
console.time()
for(let i=0;i<len;i++){
    arr.includes(i)
}
console.timeEnd()

console.log(‘set‘)
console.time()
for(let i=0;i<len;i++){
    set.has(i)
}
console.timeEnd()

console.log(‘map‘)
console.time()
for(let i=0;i<len;i++){
    map.has(i)
}
console.timeEnd()
  • 运行结果
    技术分享图片

结论

有查询速度Set>Map>Array

JS中的Set,Map,Array查询速度比较:Set>Map>Array

原文:https://www.cnblogs.com/xu0428/p/14930312.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!