Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/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_Javascript_String_Integer_Operators_Multiplication - Fatal编程技术网

最小最大和Javascript

最小最大和Javascript,javascript,string,integer,operators,multiplication,Javascript,String,Integer,Operators,Multiplication,给定五个正整数,找出可以通过将五个整数中的四个整数求和来计算的最小值和最大值。然后将各自的最小值和最大值打印为一行两个空格分隔的长整数。 例如,让arr=[1,3,5,7,9]。我们的最低金额是16,最高金额是24。我们将打印16,24 这是我的代码。但是如果arr中的所有元素都相等呢? arr=[5,5,5,5] 当数组中的所有元素都相等时,如何修复它 let arr = [1,3,5,7,9] let largest = arr[0]; let smallest = arr[0]; let

给定五个正整数,找出可以通过将五个整数中的四个整数求和来计算的最小值和最大值。然后将各自的最小值和最大值打印为一行两个空格分隔的长整数。 例如,让arr=[1,3,5,7,9]。我们的最低金额是16,最高金额是24。我们将打印16,24

这是我的代码。但是如果arr中的所有元素都相等呢? arr=[5,5,5,5] 当数组中的所有元素都相等时,如何修复它

let arr = [1,3,5,7,9]
let largest = arr[0];
let smallest = arr[0];
let largestSum = 0;
let smallestSum = 0;
for(let i = 0; i < arr.length; i ++){
  if(arr[i] > largest){
    largest = arr[i];
  }
  if (arr[i] < smallest){
    smallest = arr[i];
  }
}
for(let j = 0; j < arr.length; j ++){
  if(arr[j] < largest){
    smallestSum = smallestSum + arr[j];
  }
  if(arr[j] > smallest){
    largestSum = largestSum + arr[j];
  }
}
console.log(smallestSum + " " + largestSum)
让arr=[1,3,5,7,9]
设最大值=arr[0];
设最小值=arr[0];
设最大和=0;
设smallestSum=0;
for(设i=0;i最大值){
最大值=arr[i];
}
if(arr[i]<最小值){
最小值=arr[i];
}
}
对于(设j=0;j最小值){
最大金额=最大金额+arr[j];
}
}
console.log(smallestSum+“”+largestSum)

我会将函数重写为如下内容

let arr = [1,4,5,2,7];

arr.sort();
let largest = arr.slice(1).reduce((a, b) => a + b, 0);
arr.reverse();
let smallest = arr.slice(1).reduce((a, b) => a + b, 0);

console.log(largest+ " " + smallest);
首先,我们对数组进行排序。
然后,为了找到可能的最大和,我们将第一个和最小的元素切掉,然后将其余的元素求和。
结果存储在变量
最大值

然后,为了找到可能的最小和,我们再次做同样的事情。 这次唯一的区别是我们反转数组,这样我们切下的值将是最大的。
然后,最小可能的总和将存储在变量
minimest


如果数组中的所有整数都相等,那么最小值和最大值也将相等。

我会将函数重写为如下内容

let arr = [1,4,5,2,7];

arr.sort();
let largest = arr.slice(1).reduce((a, b) => a + b, 0);
arr.reverse();
let smallest = arr.slice(1).reduce((a, b) => a + b, 0);

console.log(largest+ " " + smallest);
首先,我们对数组进行排序。
然后,为了找到可能的最大和,我们将第一个和最小的元素切掉,然后将其余的元素求和。
结果存储在变量
最大值

然后,为了找到可能的最小和,我们再次做同样的事情。 这次唯一的区别是我们反转数组,这样我们切下的值将是最大的。
然后,最小可能的总和将存储在变量
minimest

如果数组中的所有整数都相等,则最小值和最大值也将相等。

##添加了两个函数来检查arr的4个最小/最大值是否相等,然后如果所有4个值都相等,则返回true或false。为了得到最小/最大值,我使用了数学方法##

让arr=[1,3,5,7,9]
设max=Math.max(…arr);
设最小值=Math.min(…arr);
设largestSumArray=arr.filter(val=>val!==最小值);
让smallestSumArray=arr.filter(val=>val!==最大);
功能检查noteQualVallarge(arrVal){
返回arrVal==最大值;
}
largeIsNotEqul=largestSumArray.every(CHECKNOTEQUALVALLAGE);
函数checkNotEqualValSml(arrVal){
返回arrVal==最小值;
}
smallIsNotEqul=smallestSumArray.every(checkNotEqualValSml);
如果(!largeIsNotEqul&&!smallIsNotEqul){
设最大和=0;
设smallestSum=0;
对于(设j=0;j最小值){
最大金额=最大金额+arr[j];
}
}
console.log(smallestSum+“”+largestSum)
}
否则{
警报(“有四个值相同。”)
}
##添加了两个函数来检查arr的4个最小/最大值是否相等,然后如果所有4个值都相等,则返回true或false。为了得到最小/最大值,我使用了数学方法##

让arr=[1,3,5,7,9]
设max=Math.max(…arr);
设最小值=Math.min(…arr);
设largestSumArray=arr.filter(val=>val!==最小值);
让smallestSumArray=arr.filter(val=>val!==最大);
功能检查noteQualVallarge(arrVal){
返回arrVal==最大值;
}
largeIsNotEqul=largestSumArray.every(CHECKNOTEQUALVALLAGE);
函数checkNotEqualValSml(arrVal){
返回arrVal==最小值;
}
smallIsNotEqul=smallestSumArray.every(checkNotEqualValSml);
如果(!largeIsNotEqul&&!smallIsNotEqul){
设最大和=0;
设smallestSum=0;
对于(设j=0;j最小值){
最大金额=最大金额+arr[j];
}
}
console.log(smallestSum+“”+largestSum)
}
否则{
警报(“有四个值相同。”)
}