📜  如何从对象 js 中获取随机值 - Javascript (1)

📅  最后修改于: 2023-12-03 15:37:55.971000             🧑  作者: Mango

如何从对象 js 中获取随机值 - Javascript

在Javascript中,获取对象中的随机值可以通过以下几种方式实现:

1. 使用Math.random()和Object.keys()函数

可以使用 Math.random() 生成一个 0 到 1 之间的随机小数,然后将该小数与对象的 Object.keys() 函数的返回值相乘,并向下取整。这将返回一个对象的随机键名。例如:

const obj = { a: 1, b: 2, c: 3, d: 4 };
const randomKey = Object.keys(obj)[Math.floor(Math.random() * Object.keys(obj).length)];
console.log(randomKey);

这段代码将打印出对象 obj 中的一个随机键名。

2. 使用Object.values()函数和Math.floor()函数

如果想要找到对象中的随机值,可以使用 Object.values() 函数来获取对象的值的数组,并使用 Math.floor() 函数和 Math.random() 函数来获取一个随机的数组索引。例如:

const obj = { a: 1, b: 2, c: 3, d: 4 };
const randomValue = Object.values(obj)[Math.floor(Math.random() * Object.values(obj).length)];
console.log(randomValue);

这段代码将打印出对象 obj 中的一个随机值。

3. 使用Array.from()函数和Math.floor()函数

也可以将对象的键值对转换为二元组的数组,并通过 Math.random() 函数和 Math.floor() 函数来获取一个随机的数组索引,以获取对象的随机键值对。例如:

const obj = { a: 1, b: 2, c: 3, d: 4 };
const arr = Array.from(Object.entries(obj));
const randomEntry = arr[Math.floor(Math.random() * arr.length)];
console.log(randomEntry[0], randomEntry[1]);

这段代码将打印出对象 obj 中的一个随机键值对。

以上是三种从Javascript对象中获取随机值的方法。根据需要和喜好可以选择任意一种方法,都可以实现从对象中获取随机值的功能。