假设我生成一个随机索引,如下所示:
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
答案 0 :(得分:1)
你可以这样做:
const key = [...m.keys()][r];
这将为您节省一些代码行,但从性能角度来看,它可能会更慢。
事实上,JSPerf.com上的这个test case似乎表明您的版本更快很多(至少在当前的Chrome和Firefox上)。