क्या यादृच्छिक सेकंड के बाद किसी संख्या को 1 से बढ़ाने का कोई तरीका है। उदाहरण के लिए, आधार मान 10 है। तो यह यादृच्छिक सेकंड के बाद 1 से बदल जाएगा (यानी 1/2/3/4/5 सेकंड यादृच्छिक रूप से)।
मैंने इस तरह की कोशिश की है:
var startVal = 10;
setInterval(function(){
var theVal = startVal + 1;
startVal = theVal;
}, Math.round(Math.random() * (6000 - 2000)) + 2000);
संख्या बढ़ रही है लेकिन समय यादृच्छिक नहीं है। कृपया मदद करे।
-2
DevzValley
1 जुलाई 2020, 16:19
2 जवाब
सबसे बढ़िया उत्तर
यदि आप प्रत्येक पुनरावृत्ति पर समय बदलना चाहते हैं, तो आपको सेटटाइमआउट का उपयोग करना होगा।
var startVal = 10;
function increase() {
setTimeout(function(){
var theVal = startVal + 1;
startVal = theVal;
increase();
console.log(startVal);
}, Math.round(Math.random() * (6000 - 2000)) + 2000);
}
increase()
1
epascarello
1 जुलाई 2020, 16:38
यहां एक कामकाजी उदाहरण है। 0,1 या 2 सेकंड के बाद संख्या एक से बढ़ा देंगे
let number = 10;
function getRandomInt(max) {
return Math.floor(Math.random() * Math.floor(max));
}
function addNumber() {
number++;
console.log(number)
}
setTimeout(addNumber, getRandomInt(3) * 1000)
1
Cedervall
1 जुलाई 2020, 16:34