Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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 如何将一个数字分配为4个偶数?_Javascript - Fatal编程技术网

Javascript 如何将一个数字分配为4个偶数?

Javascript 如何将一个数字分配为4个偶数?,javascript,Javascript,我有4个随机数: 假设我想平均分配它们,这样它们都是平等的。如果我有任何余数,那么余数将添加到第一个数字上 var a = number1 + number2 + number3 + number4; var b = math.floor(number1) + math.floor(number2) + math.floor(number3) + math.floor(number4) + 0; var c = math.floor(number1) + math.floor(number2)

我有4个随机数:

假设我想平均分配它们,这样它们都是平等的。如果我有任何余数,那么余数将添加到第一个数字上

var a = number1 + number2 + number3 + number4;
var b = math.floor(number1) + math.floor(number2) + math.floor(number3) + math.floor(number4) + 0;
var c = math.floor(number1) + math.floor(number2) + math.floor(number3) + math.floor(number4) + 1;
var d = math.floor(number1) + math.floor(number2) + math.floor(number3) + math.floor(number4) + 2;
var e = math.floor(number1) + math.floor(number2) + math.floor(number3) + math.floor(number4) + 3;


if (a = b){
 remainder0()
}
if (a = c){
 remainder1()
}
if (a = d){
 remainder2()
}
if (a = e){
 remainder3()
}

function remainder0(){
number1 = (a / 4);
number2 = a / 4; 
number3 = a / 4;
number4 = a / 4;
}

function remainder1(){
number1 = (a / 4) + 1;
number2 = a / 4; 
number3 = a / 4;
number4 = a / 4;
}

function remainder2(){
number1 = (a / 4) + 2;
number2 = a / 4; 
number3 = a / 4;
number4 = a / 4;
}

function remainder3(){
number1 = (a / 4) + 3;
number2 = a / 4; 
number3 = a / 4;
number4 = a / 4;
}

if语句似乎不起作用,如果remainder0函数起作用,则这4个数字似乎不合适且有意义。

您可以得到所有数字的总和,然后计算出该总和除以您拥有的数字的数目。然后,您可以算出余数,并将其添加到第一个数字:

常量均匀分布=数量=>{ 常数和=数 .reducep,c=>p+c,0; 常数=Math.floorsum/numbers.length; 常数余数=总和%numbers.length; const asList=Array.fromnew ArrayNumber.length.keys .均匀填充; 返回asList.mapx,i=>i==0?x+余数:x; } 常数x=均匀分布[13,30,30,30];
console.dirx 你可以得到所有数字的总和,然后计算出这个总和除以你拥有的数字。然后,您可以算出余数,并将其添加到第一个数字:

常量均匀分布=数量=>{ 常数和=数 .reducep,c=>p+c,0; 常数=Math.floorsum/numbers.length; 常数余数=总和%numbers.length; const asList=Array.fromnew ArrayNumber.length.keys .均匀填充; 返回asList.mapx,i=>i==0?x+余数:x; } 常数x=均匀分布[13,30,30,30];
console.dirx 您可以添加所有值,获得地板部分,并通过获得缺少的增量来获得第一个数字的增量

var a=1, b=3 c=4 d=9, 总和=a+b+c+d, 偶数=Math.floorsum/4, number1=和-偶*3, 数字2=偶数, 数字3=偶数, 数字4=偶数;
console.lognumber1、number2、number3、number4 您可以添加所有值,获得地板部分,并通过获得缺少的增量来获得第一个数字的增量

var a=1, b=3 c=4 d=9, 总和=a+b+c+d, 偶数=Math.floorsum/4, number1=和-偶*3, 数字2=偶数, 数字3=偶数, 数字4=偶数; console.lognumber1、number2、number3、number4 函数均匀分布数{ 设sum=num.reducefunctiona,c{ a+=c; 返回a; }, 0; 设len=num.length; 常数=Math.floorsum/len; const res=新Arraylen; 而-len>0{ res[len]=均匀分布; 和-=均匀; } res[len]=总和; 返回res; } 控制台。对数均匀分布[13,30,30,30] 函数均匀分布数{ 设sum=num.reducefunctiona,c{ a+=c; 返回a; }, 0; 设len=num.length; 常数=Math.floorsum/len; const res=新Arraylen; 而-len>0{ res[len]=均匀分布; 和-=均匀; } res[len]=总和; 返回res; }
console.logevenlyDistribution[13,30,30,30]你能提供一个输入和预期的输出吗?我现在没有我的代码。但是我会试着描述它。只提供一个例子,比如10,15,5,10,我期望10,10,10。如果a=b-你在这里做赋值a=b将值b分配给a,a==b比较,a==b类型安全比较,这就是你想要的。你能提供一个输入和预期的输出吗?我现在没有我的代码。但我会试着描述它。只需提供一个例子,比如10,15,5,10,我期望10,10,10。如果a=b-你在这里做赋值a=b将值b赋值给a,a==b比较,a==b类型安全比较,这是你想要的。这个解决方案非常优雅。注意,你可以均匀地更改为函数const=quality=>Math.floor。。。然后使用const asList=Array.from。还要注意,Array.from接受映射回调作为其第二个参数-因此,对于当前代码,它只是const asList=Array.fromnew Arraynumbers.length.keys,=>Equired.extending on@JackBashford comment:或只需执行const asList=Arraynumbers.length.FillEquired;然后你可以做一个列表[0]+=余数;返回asList;而不是创建另一个数组。@Thomas我更喜欢变异数组。。。如果性能是一个问题,那么不创建另一个阵列会更好。添加了你的。尽管如此,谢谢@杰克巴什福德:一些很棒的建议!此解决方案非常优雅。请注意,您可以均匀地更改为函数const always==>Math.floor。。。然后使用const asList=Array.from。还要注意,Array.from接受映射回调作为其第二个参数-因此,对于当前代码,它只是const asList=Array.fromnew Arraynumbers.length.keys,=>Equired.extending on@JackBashford comment:或只需执行const asList=Arraynumbers.length.FillEquired;然后你可以做一个列表[0]+=余数;返回asList;而不是创建另一个数组。@Thomas我更喜欢变异数组。。。如果性能是一个问题,那么不创建另一个阵列将是一个问题
多好啊。添加了你的。尽管如此,谢谢@杰克巴什福德:一些很棒的建议!我试图在没有任何数组的情况下回答此代码。我只允许使用基本javascript和=>之类的东西,该符号使我的代码出现括号内的模式错误:谢谢您的尝试。@Droozie我删除了ES6箭头功能。请看一看,如果它为你工作,我试图回答这个代码没有任何数组。我只允许使用基本javascript和=>之类的东西,该符号使我的代码出现括号内的模式错误:谢谢您的尝试。@Droozie我删除了ES6箭头功能。请看一看,如果它为你工作,我试图回答这个代码没有任何数组。我只允许使用基本javascript和=>之类的东西,该符号使我的代码出现括号内的模式错误:谢谢你的尝试。我正在尝试回答没有任何数组的代码。我只允许使用基本javascript和=>之类的东西,该符号使我的代码出现括号内的模式错误:谢谢你的尝试。