首页 > 解决方案 > 如何获得随机密钥

问题描述

如果我有以下情况:

var liststuff = {'key 1':'value 1', 'key 2':'value 2', 'key 3':'value 3'};

我应该如何四处获得随机密钥?

所以我的想法是我会运行一个函数,它会随机给我一个来自 liststuff 的键,然后我可以用它来做我想做的事。

我想为每个值提供 2 个键,其中第一个键是“键 n”,而第二个键是“n-1”(n = 键数):

例如

var belonging = {'Tom':'fish', 0:'fish', 'Jerry':'cheese', 1:'cheese', 'Billy':'pencil', 2:'pencil'};

然后我可以执行以下操作来获取随机密钥:

let randChoice = Math.floor(3 * Math.random);
belonging[randChoice];

但是随着密钥数量的增加,它会占用太多空间,并且想知道是否有一种不同的更智能的方法来做到这一点。

标签: javascriptrandomkey

解决方案


您可以通过获取随机索引Math.random * keys.length,然后使用该索引来获取密钥。

var obj = {'key 1':'value 1', 'key 2':'value 2', 'key 3':'value 3'};

var keys = Object.keys(obj);
var key = keys[Math.floor(Math.random() * keys.length)];
console.log(key)


推荐阅读