JavaScript 查找最小或最大元素

示例

如果您的数组或类似数组的对象是numeric,也就是说,如果它的所有元素都是数字,则可以使用Math.min.apply或作为第一个参数Math.max.apply传递null,而将数组作为第二个参数传递。

var myArray = [1, 2, 3, 4];

Math.min.apply(null, myArray); // 1个个个个个个

Math.max.apply(null, myArray); // 4

6

在ES6中,可以使用...运算符扩展数组并采用最小或最大元素。

var myArray = [1, 2, 3, 4, 99, 20];

var maxValue = Math.max(...myArray); // 99

var minValue = Math.min(...myArray); // 1个个个个个个

以下示例使用for循环:

var maxValue = myArray[0];

for(var i = 1; i < myArray.length; i++) {

   var currentValue = myArray[i];

   if(currentValue > maxValue) {

      maxValue = currentValue;

   }

}

5.1

以下示例用于查找最小值或最大值:Array.prototype.reduce()

var myArray = [1, 2, 3, 4];

myArray.reduce(function(a, b) {

  return Math.min(a, b);

}); // 1个个个个个个

myArray.reduce(function(a, b) {

  return Math.max(a, b);

}); // 4

6

或使用箭头功能:

myArray.reduce((a, b) => Math.min(a, b)); // 1个个个个个个

myArray.reduce((a, b) => Math.max(a, b)); // 4

5.1

为了概括reduce版本,我们必须传递一个初始值以覆盖空列表的情况:

function myMax(array) {

  return array.reduce(function(maxSoFar, element) {

    return Math.max(maxSoFar, element);

  }, -Infinity);

}

myMax([3, 5]);             // 5

myMax([]);                 // -无限

Math.max.apply(null, []);  // -无限

有关如何正确使用的详细信息,reduce请参见减小值。

以上是 JavaScript 查找最小或最大元素 的全部内容, 来源链接: utcz.com/z/315820.html

回到顶部