[英]Is there a way to make the total time spent on the activities to always be 24hrs
我想隨機產生某人每天花在各種活動上的小時數。
我創建了一個對象,該對象將存儲對象鍵(活動),其值(小時)和一個用於保存它們的數組。 我還使用了一種隨機方法來生成小時數,並確保在隨機生成下一個對象屬性之前,每個初始值都不會超過24小時。 但我需要幾個小時才能總和為24小時。
let organised = new Object(),
pworks = null,
commutes = null,
fun = null,
work = false;
let arr= [];
if(!work){
organised.pworks = Math.floor(Math.random()*24)
if(organised.pworks < 24){
console.log('you spend ' + organised.pworks+'hrs' + ' on Primary Work' )
arr.push(organised.pworks)
organised.commutes = Math.floor(Math.random()*24)
if(organised.commutes + organised.pworks < 24){
arr.push(organised.commutes)
console.log('you spend ' + organised.commutes+'hrs' + ' on Commute' )
organised.fun = Math.floor(Math.random()*24)
if(organised.commutes + organised.pworks + organised.fun <= 24){
console.log('you spend ' + organised.fun+'hrs' + ' on having Fun' )
arr.push(organised.fun)
}
}
}}
您在主要工作上花費6個小時,在通勤上花費10個小時,在娛樂上花費8個小時
您需要選擇在離開后的時間內而不是整個24小時內都是隨機的隨機值。 因此,例如,這是不正確的:
organised.commutes = Math.floor(Math.random() * 24);
...因為這不允許organized.pworks
的.pworks花費的時間。 所以:
organised.commutes = Math.floor(Math.random() * (24 - organized.pworks));
...等等,對於下一個,必須同時考慮organized.pworks
和organized.commute
。 保持連續運行可能很方便,因此您不必繼續添加其他屬性:
var remaining = 24;
organised.pworks = Math.floor(Math.random() * remaining);
remaining -= organised.pworks;
// ...
organised.commutes = Math.floor(Math.random() * remaining);
remaining -= organised.commutes;
// ...
然后,您可能不希望最后一個值是隨機值,而只需要剩余時間:
organised.fun = remaining;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.