如何获得随机密钥

时间:2019-06-22 17:51:57

标签: javascript random key

如果我具有以下条件:

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

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

所以我的想法是我将运行一个函数,它将随机给我列表材料中的键之一,然后我可以用它来做我想做的事情。

尽管我要为每个值提供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];

但是随着键数量的增加,这将占用太多空间,并且想知道是否存在另一种更聪明的方式。

2 个答案:

答案 0 :(得分:1)

您可以通过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)

答案 1 :(得分:1)

嘿,您可以使用Object.keys()方法以简单的方式完成此操作,该方法返回给定对象的属性名称的数组。

var items = {'key 1':'value 1', 'key1':'value 2', 'key 3':'value 3'};
const allKeys = Object.keys(items)
const randomValFromItems = items[allKeys[Math.floor(Math.random()*allKeys.length)]];

希望这会有所帮助