码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript趣题:缺水危机

时间:2016-08-24 17:31:15      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

亲爱的各位居民:

我是村长,告诉大家一个坏消息,村子最近面临缺水的问题。

这里有一份名单,上面有村民们的年龄信息。

不同的年龄段生活用水量都不同:18岁以下的大概是1升每天,1850岁以下的是2升每天,50岁及以上的是1.5升。

现在村子的水源储备有N升,为了防患于未然,求助于大家。

如果按照目前的消耗速度,我们还能维持多久?

任务来了:

写一个函数,接收2个参数,第一个是表示储备量Nwater,第二个是表示年龄列表的ageOfDwellerArray

返回代表天数的正整数,返回-1如果村子中没有居民(ageOfDwellerArray为空)。

思路:

首先,根据村长的话,做配置,分为未成年人,成年人,老年人三个层次。

var info = {
  child : {consume : 1,range : [0,18]},
  adult : {consume : 2,range : [18,50]},
  old : {consume : 1.5,range : [50,200]},
};
然后,根据年龄列表和上面的配置对象,计算每天的总消耗量。

最后,用总储备量除以每天消耗量即可算出维持的天数。

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趣题:缺水危机

标签:

原文地址:http://blog.csdn.net/esir82/article/details/52300803

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!