JavaScript模拟map的实现极其性能分析
由于JavaScript原生的没有提供Map,而Map又是非常常用的工具类,在这里我为大家介绍几种JavaScript下的Map实现方式。
Map我们需要实现的核心其实就是他的put()和get()方法,至于其他的size()等方法可后续添加。
不了解JavaScript的同学可能首先想到的实现的方式可能会是用一个Array数组来保存数据然后get的时候遍历一遍去匹配Key,因为这是几乎所有语言都通用的方法,简直是跨平台,哈哈。代码和get()的性能我就不列了,相信大家也能知道去遍历一遍数组在数组越来越大的时候性能是直线下降的。遍历100W大小的从后面的例子中大家也可以看一下需要的时间。
下面为大家介绍两种比较合适的方法,
1.使用Object对象,将key作为属性名称保存,get的时候就直接使用属性名称获取值。代码如下。