计算范围数落入

时间:2018-10-17 23:13:14

标签: javascript math

我试图弄清楚一个数字属于哪个范围。我的意思是说比例为900,然后将其分成4个区域。

function getLocationRange(input){
  const slices = 4;
  const scale = 900;

  const slice = scale / slices;


  if(input < slice){
    return 0;
  } else if (input < slice * 2) {
    return 1;
  } else if (input < slice * 3) {
    return 2;
  } else if (input < slice * 4) {
    return 3;
  }
}

getLocationRange(50); // 0
getLocationRange(800); // 3
getLocationRange(400); // 1

基本上,如果输入数字落入第一季度,则返回0,第二季度返回1,等等...

麻烦的是,这无法扩展,因为我需要为每个切片使用else语句(例如,我想用6个切片或100个切片来运行它)。

是否有一个简单的数学方程式可以达到相同的效果? (不必担心负数或大于或等于比例。)

1 个答案:

答案 0 :(得分:5)

getRange(input, scale, slices) {
    return Math.floor(input / (scale / slices));
}