访问Map键/值给定索引的最快方法

时间:2018-06-06 04:37:05

标签: javascript node.js

假设我生成一个随机索引,如下所示:

const m = new Map();
const r = Math.floor(Math.random()*m.size);

现在我需要使用索引r来获取密钥。

这真的是获取密钥k的最快方法吗?

let i = 0;
for(var k of m.keys()){
   if(i === r) {
      break;
    }
  i++;
}
// k is now our randomly selected key

1 个答案:

答案 0 :(得分:1)

你可以这样做:

const key = [...m.keys()][r];

这将为您节省一些代码行,但从性能角度来看,它可能会更慢。

事实上,JSPerf.com上的这个test case似乎表明您的版本更快很多(至少在当前的Chrome和Firefox上)。