javascript - 访问给定索引的映射键/值的最快方法

标签 javascript node.js

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

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

现在我需要获取索引为 r 的 key 。

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

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

最佳答案

你可以这样做:

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

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

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

关于javascript - 访问给定索引的映射键/值的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50712334/

相关文章:

javascript - 无法使用jquery从本地存储获取数据的当前ID

javascript - 创建新用户时未调用 beforeCreate 方法

node.js - react native 窗口,产生 npm ENOENT 错误

php - FullCalendar - 通过 ajax 发送 View

javascript - 用三个js将图像(正面-背面)映射到球体上

javascript - 在页面加载时调用上面定义的 Javascript 方法

javascript - 将 Sequelize promise 嵌入到 javascript async/await 链中

node.js - Less 不会编译为 nodejs 中间件

javascript - promise 返回 promise ?

javascript - 我如何获取链接内容(innerHTML)并将其添加到其他链接作为标题