Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果X在一个数字范围内,如何为X分配一个数字?_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 如果X在一个数字范围内,如何为X分配一个数字?

Javascript 如果X在一个数字范围内,如何为X分配一个数字?,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在使用random,我想要的是,如果(例如)X=173。X必须是10。 让我解释一下:根据一系列数字,X将有一个新值: 如果X小于或等于10,则X必须等于26 如果X小于或等于20,则X必须等于35, 如果X小于或等于30,则X必须等于12 每10个单位X将有一个不同的值 到目前为止,这是我所拥有的,但我认为这段代码不是最合适的: var X = 55; if(X <= 10){ X = 26; }else if (X<=20){ X = 35; }else if (X

我正在使用random,我想要的是,如果(例如)X=173。X必须是10。 让我解释一下:根据一系列数字,X将有一个新值:

如果X小于或等于10,则X必须等于26 如果X小于或等于20,则X必须等于35, 如果X小于或等于30,则X必须等于12

每10个单位X将有一个不同的值 到目前为止,这是我所拥有的,但我认为这段代码不是最合适的:

var X = 55;

if(X <= 10){
  X = 26;
}else if (X<=20){
  X = 35;
}else if (X <= 30){
  X = 12;
}else if(X <= 40){
  X = 28;
}else if (X <= 50 ) {
  X = 7;
}else if (X <= 60) {
  X = 29
}

console.log(X);
var X=55;

如果(X来考虑一下,您可以在不使用任何循环的情况下执行此操作,仍然假设您提供的范围

感谢@TedHopp为我修正了数学错误

const值=[26,35,12,28,7,29];
var x=55;
x=x?(数值[Math.ceil(x/10)-1]| | x):数值[0];

console.log(x);
听起来像是一个简单的查找表,而不是一堆
if
语句。考虑:
lookup[Math.floor(x/10)]
就是这样,你想在每个条件下给x分配一个固定的随机值吗?是的……我在做一个赌场类型的游戏(用于学校作业),因此,每次单击按钮时,x都会取一个随机值,该值对应于图像中的一些数字…这就是为什么x取的值与以前的值无关您可能不想要
Math.floor(x/10)
作为索引,因为这将以不同的方式对待9和10,而不是OP想要的。您可以使用
Math.floor((x-1)/10)
Math.ceil(x/10)-1
@TedHopp:你是对的。我刚刚意识到他们都错了。已经纠正了最后两个。我会用你的解决方案更新。事实上,如果
x
0
,我们仍然有问题。第一个范围比其他范围大一个。我将对该值进行特殊处理。不客气。你通常可以在数学上任意计算当你的范围以某种方式保持一致时。