各位观众老爷们,大家好!今天咱们来聊聊JavaScript里一对好基友:Map和Set。 别看它们名字有点陌生,其实它们在某些场合比老朋友Object和Array更好使,甚至能让你的代码跑得更快!咱们今天就扒一扒它们的底裤,看看它们到底有啥本事。 开场白:Object和Array的局限性 在JavaScript的世界里,Object和Array是元老级的存在。 咱们天天用,用得那叫一个溜。 但是,时间长了,你有没有觉得它们有点不够劲儿? Object的Key只能是字符串或Symbol: 想用数字、对象当Key? 没门! Object会默默地把你转换成字符串,然后告诉你:“我只能帮你到这儿了”。 Array的indexOf查找效率: 想在数组里找个东西? indexOf跑一遍,效率嘛… 尤其是数组很大的时候,简直慢到怀疑人生。 Object遍历顺序不确定: 你想按顺序遍历Object的属性? 呵呵,JavaScript引擎表示: “我心情好就给你按顺序,心情不好就随机”。 (ES2015后对于非数字键的遍历顺序是按照插入顺序,但是依旧不能保证全部情况) Array删除元素产生空洞: 用d …
继续阅读“JavaScript内核与高级编程之:`JavaScript`的`Map`和`Set`:其与传统`Object`和`Array`的性能对比。”