传奇广告查询第一站 同步54.com

Map和Object区别
原创 于2026-01-05 18:07:00发布
14 阅读
0
0

区别:

  • API不通,Map可以以任意类型为key
  • Map是有序结构(重要)
  • Map操作同样很快
// object // const obj = { // name: '张三', // title: 'Author' // } // 只能以字符串为key,且是无序格式 // map Api const m = new Map([ ['name', '张三'], ['title', 'Author'] ]) m.set('age', 30) m.delete('title') m.has('name') m.size m.forEach(val => console.log(val)) // ... // 以任意类型为key const o = { p: 'Hello World' } m.set(o, 'object key') const fn = () {} m.set(fn, 'fn key') const obj1 = { name: '小红' } const obj2 = { name: '小明' } m.set(obj1, obj2) // 关联,但没有引用关系,保持独立 // Map是有序的并且还很快,object是无序的 const targetObj = {} const targetMap = new Map() for (let i = 0; i < 10000000; i++) { targetObj[i + ''] = i targetMap.set(i + '', i) } console.time('targetObj find') targetObj['5000000'] console.timeEnd('targetObj find') console.time('targetObj delete') delete targetObj['5000000'] console.timeEnd('targetObj delete') console.time('targetMap find') targetMap.has('5000000') console.timeEnd('targetMap find') console.time('targetMap delete') targetMap.delete('5000000') console.timeEnd('targetMap delete') // targetObj find: 0.009033203125 ms // targetObj delete: 0.0029296875 ms // targetMap find: 0.007080078125 ms // targetMap delete: 0.001953125 ms // Map有序与obj无序执行速度相差不多 
管理员
0
0
0
分享
上一篇: 2d游戏地图编辑器_认识游戏场景制作:游戏场景的作用及制作流程
下一篇: GOM和GEE引擎黑屏不显示界面,装备地图怪物的解决方法
评论
历史记录
回顶部
浏览时间 游戏名称 游戏IP 开区网址
注册GM1论坛账号
  • 上传头像
注册

已有账号,

微信扫码登录
重置密码
重置密码

注册

绑定关联手机号
关联手机号