我想知道如何从数组中随机选择一个对象并减小valid
的值。
我有以下几点:
const codes = [
{
code: "AG1",
valid: 20
},
{
code: "AG2",
valid: 20
},
{
code: "AG3",
valid: 20
}
]
现在我像这样随机选择对象
var code = codes[Math.floor(Math.random()*codes.length)];
选择对象后,需要将对象的有效值减一
任何想法?
最佳答案
如果需要将更改保留在阵列上,则可以在获得随机codes[idx].valid--
之后使用index
:
const codes = [
{code: "AG1", valid: 20},
{code: "AG2", valid: 20},
{code: "AG3", valid: 20}
];
const decRandom = (codes) =>
{
let idx = Math.floor(Math.random() * codes.length);
// Decrement only if greater then zero.
codes[idx].valid > 0 && codes[idx].valid--;
}
let iteration = 0;
setInterval(() =>
{
decRandom(codes);
console.log("Iteration: " + ++iteration, JSON.stringify(codes));
}, 2000);
关于javascript - 从数组和减量值中选择随机对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54772869/