ホームページ > 記事 > ウェブフロントエンド > JavaScript の楽しい質問: 水危機
住民の皆様へ:
私は村長ですが、悪いニュースをお伝えしたいと思います。村は最近、水不足の問題に直面しています。
ここに村人の年齢情報のリストがあります。
年齢層ごとに1日あたりの水の消費量は異なります。18歳未満は1日あたり約1リットル、18未満から50歳までは1日あたり2リットル、1日あたり50です。歳以上 1.5Lです。
現在、村の貯水量はNリットルとなっており、問題を未然に防ぐために皆様のご協力をお願いしております。
現在の消費率でどれくらい維持できるでしょうか?
ここでタスクが始まります:
2パラメータを受け取る関数を作成します。最初のパラメータは埋蔵量Nを表すwaterで、2番目のパラメータは年齢リストを表すageOfDwellerArrayです。
日数を表す正の整数を返します。村に住民がいない場合は -1 を返します (ageOfDwellerArray が空です)。
感想:
まずは村長の言葉に従い、未成年、成人、高齢者の3段階に分けて配分する。
var info = { child : {consume : 1,range : [0,18]}, adult : {consume : 2,range : [18,50]}, old : {consume : 1.5,range : [50,200]}, };
次に、年齢リストと上記の構成オブジェクトに基づいて、1 日の総消費量を計算します。
最後に、総予備量を毎日の消費量で割って、メンテナンスの日数を計算します。
function thirstyIn(water, ageOfDwellerArray) { var consumePerDay = 0; for(var i=0;i<ageOfDwellerArray.length;i++){ for(var j in info){ var type = info[j]; var range = type.range; if(ageOfDwellerArray[i] >= range[0] && ageOfDwellerArray[i] < range[1]){ consumePerDay += type.consume; break; } } } return consumePerDay ? Math.floor(water / consumePerDay) : -1; }
上記は JavaScript の興味深い質問の内容です: 水不足の危機 その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。