📌  相关文章
📜  查询以查找最大和最小数组元素(给定范围内的元素除外)(1)

📅  最后修改于: 2023-12-03 15:40:26.380000             🧑  作者: Mango

查询最大和最小数组元素

在编程中,需要查找数组中的最大和最小元素是一个常见的任务。下面将介绍如何进行该操作,同时还将讨论如何排除给定范围内的元素。

查找最大和最小元素

要查找数组中的最大和最小元素,有几种不同的方法可以使用。其中一种方法是使用循环遍历数组并使用if语句来比较每个元素。另一种方法是使用内置的Javascript函数 Math.max()Math.min() 来查找最大和最小值。

以下是使用循环遍历数组的代码:

function findMinMax(arr) {
  let min = arr[0];
  let max = arr[0];
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] < min) {
      min = arr[i];
    }
    if (arr[i] > max) {
      max = arr[i];
    }
  }
  return {min, max};
}

以上代码中,我们首先将数组的第一个元素分别指定为最小和最大值。然后,我们遍历整个数组,并使用if语句比较每个元素。如果元素小于当前的min,则将其设置为新的最小值。如果元素大于当前的max,则将其设置为新的最大值。最后,我们将最小和最大值作为包含对象的字面量返回。

以下是使用 Math.max()Math.min() 的代码:

function findMinMax(arr) {
  const min = Math.min(...arr);
  const max = Math.max(...arr);
  return {min, max};
}

以上代码中,我们使用展开运算符...将数组中的所有元素传递给 Math.min()Math.max() 函数。这些函数将返回数组中的最小值和最大值,我们可以将它们作为包含对象的字面量返回。

排除给定范围内的元素

有时,我们需要查找数组中的最大和最小元素,但要排除一些给定范围内的元素。例如,我们可能想查找一个数组中的最大和最小元素,但要排除0到10范围内的元素。

为了实现这一点,我们只需对每个元素进行一些简单的比较。以下是代码:

function findMinMax(arr, low, high) {
  let min = Infinity;
  let max = -Infinity;
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] < low || arr[i] > high) {
      if (arr[i] < min) {
        min = arr[i];
      }
      if (arr[i] > max) {
        max = arr[i];
      }
    }
  }
  return {min, max};
}

以上代码中,我们首先将 min 设置为正无穷大,将 max 设置为负无穷。然后,我们遍历整个数组并使用if语句来检查每个元素是否在给定范围之外。如果是这样,我们就使用if语句来更新最小和最大值。如果元素小于当前的min,则将其设置为新的最小值。如果元素大于当前的max,则将其设置为新的最大值。最后,我们将包含最小和最大值的对象返回。

总结

在编写程序时,查找数组中的最大和最小元素是一个常见的任务。有多种方法可以使用,包括使用循环遍历和使用 Math.max()Math.min() 函数。有时,我们需要排除一些给定范围内的元素。在这种情况下,我们只需进行一些简单的比较即可实现。