繁体   English   中英

如何找到数组中最大的负整数?

[英]How do I find the largest negative integer in an array?

让 test12 = [-1, -2, -3];

我被困在这一点上。 我在正整数上使用了以下内容,但我不确定要为负数更改什么。

 let test = [1 , 2, 3]; var largest= 0; for (i=0; i<=test.length;i++){ if (test[i]>largest) { largest=test[i]; } } console.log(largest);

数组中最大的负整数

你的问题可以有3种解释:

  1. 0最远的负整数
  2. 最接近0的负整数
  3. 一般最大的数字(如果出现全负整数数组,您可能会遇到困难,因为您将 min 初始化为 0)

只是为了澄清,最小的是“离零最远”。 但这里有所有三种方式:):

 const ints = [-3, -2, -1, 0, 1, 2] const negativeInts = ints.filter(i => i < 0) const smallestNegative = Math.min(...negativeInts) const largestNegative = Math.max(...negativeInts) const largestOverall = Math.max(...ints) console.log({smallestNegative, largestNegative, largestOverall}) // -3, -1, 2

希望这可以帮助。 干杯。

只需将largest初始化为-Infinity而不是0 您还需要遍历输入数组的长度,而不是0largest

 let test12 = [-1, -2, -3]; var largest = -Infinity; for (i = 0; i < test12.length; i++) { if (test12[i] > largest) { var largest = test12[i]; } } console.log(largest);

另一种方法是传播到Math.max

 let test12 = [-1, -2, -3]; console.log( Math.max(...test12) );

最大的负数是-244 ,因此您可以排序并获取第一个索引。

 let arr = [-1, -2, -244, -7], [largets] = arr.slice().sort((a, b) => a - b); console.log(largets);

尝试这个..

 var array = [-155,3, 6, 2, 56, 32, 5, -89, -32,115,-150]; array.sort(function(a, b) { return a - b; }); console.log(array[0]);

如果您想要一个编程解决方案,例如即使给出全负数组,您的程序也需要执行的编辑,请尝试以下操作:

 let test = [-10, -1, -2, -3]; // just Assign largest to the first element in test. // the largest int might not be greater than zero, // but will definitely be larger that any other element in the array. var largest= test[0]; for (i=0; i<=test.length;i++){ if (test[i]>largest) { largest=test[i]; } } console.log(largest);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM