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

时间:2018-10-25 23:37:51

标签: javascript arrays

让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);

5 个答案:

答案 0 :(得分:1)

  

数组中最大的负整数

您的问题可以有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

希望这会有所帮助。干杯。

答案 1 :(得分:0)

只需将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)
);

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

尝试一下。

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]);

答案 4 :(得分: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);