当前位置: 首页 > 编程笔记 >

JavaScript 查找最小或最大元素

南门建章
2023-03-14
本文向大家介绍JavaScript 查找最小或最大元素,包括了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

json="[{"Type":"GreaterThanOrEqual","GroupName":null,"VersionName":"6"}]"> 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请参见减小值。

 类似资料:
  • 问题 怎样从一个集合中获得最大或者最小的 N 个元素列表? 解决方案 heapq 模块有两个函数:nlargest() 和 nsmallest() 可以完美解决这个问题。 import heapq nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2] print(heapq.nlargest(3, nums)) # Prints [42, 37, 23] p

  • 我有一个对象流,我想找到一个最大值的一些属性,计算起来很昂贵。 作为一个特定的简单示例,假设我们有一个字符串列表,我们希望找到最酷的一个,给定函数。

  • 我们已经看到,较大的页表会导致额外的开销,因为必须将该表分成页面,然后将其存储到主内存中。 我们担心的是执行进程而不是执行页表。 页表为执行过程提供了支持。 页面越大,开销越高。 例如,我们知道 - 将会有100万页这是相当大的数字。 但是,尝试使页面大小更大,例如:2MB。 然后,页表中的页数=(2 X 2 ^ 30)/(2 X 2 ^ 20)= 1K页。 如果比较两种情况,可以知道页面大小与页

  • 问题内容: 我有一个对象流,我想找到一个具有某些属性最大值的对象,该属性的计算成本很高。 作为一个简单的具体示例,假设我们有一个字符串列表,并且希望找到给定功能的最酷的字符串。 以下应该工作: 现在,这有两个问题。首先,假设计算起来很昂贵,这可能不是很有效。我想该方法将需要重复使用比较器,该比较器将依次重复调用,最后每个字符串将被多次调用。 其次,必须提供比较器会导致代码有些冗余。我更喜欢这样的语

  • 我实现了c程序,可以找到矩阵的元素:行的最大元素,同时列的最小元素,或行的-min元素,同时列的最大元素。例如,我们有数据。包含以下内容的txt文件: 4 7 8 9 10 6 5 4 11 5 0 1 12 4 2 7 13- 其中4是n-矩阵大小(4x4),7和10是这些数字。 下面是代码: 问题:我想知道我的代码是不是“脏”代码?因为我总是渴望让一切变得如此困难,只要有可能让它变得容易。是否

  • 给定一个成本矩阵cost[][]和cost[][]中的一个位置(m,n),写一个函数,返回从(0,0)到(m,n)的最小成本路径的成本。矩阵的每个单元格表示遍历该单元格的成本。一条路径到达(m,n)的总成本是该路径上所有成本的总和(包括源和目的地)。您只能从给定的单元格中向下、向右和沿对角线向下遍历单元格,即从给定的单元格(i,j),可以遍历单元格(i+1,j),(i,j+1)和(i+1,j+1)