gpt4 book ai didi

javascript - 如何在javascript中生成一个波动为1的随机数数组?

转载 作者:行者123 更新时间:2023-12-04 17:22:58 25 4
gpt4 key购买 nike

我希望能够在 javascript 中生成以下数组(或类似的东西):

[
52, // random number 0-100
53, // random +1 or -1
54, // random +1 or -1
53, // random +1 or -1
52, // random +1 or -1
53, // random +1 or -1
52, // random +1 or -1
51, // random +1 or -1
50, // random +1 or -1
51, // random +1 or -1
// etc., etc., etc.
]
我怎样才能做到这一点?
我试过这个,但我总是得到一个随机数,后跟 1 和 -1:
Array(50).fill(0).map((v, i, a) => i !== 0 ? (Math.round(Math.random()) ? a[i-1] + 1 : a[i-1] - 1) : Math.floor(Math.random() * 101))

最佳答案

这可能会有所帮助:

function randomGenerator(size) {
let result = [];
let firstValue = Math.round(Math.random() * 100);
result.push(firstValue);

for (let i=0;i<size-1;i++){
firstValue += Math.random() > 0.5 ? 1:-1;
result.push(firstValue)
}
return result;
}

console.log(randomGenerator(10));
console.log(randomGenerator(13));

或者如果您更喜欢使用功能,您可以利用默认值
comma operator :

const randGenerator = (size = 13,init = Math.round(Math.random() *100)) => 
Array(size).fill(0).map(e => (init += Math.random() > 0.5 ? 1:-1,init))

console.log(randGenerator(10))
console.log(randGenerator(13))

关于javascript - 如何在javascript中生成一个波动为1的随机数数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65061092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com