📜  返回最小值的 js 数学函数 - Javascript (1)

📅  最后修改于: 2023-12-03 14:57:56.398000             🧑  作者: Mango

返回最小值的 js 数学函数 - Javascript

当我们需要获取一组数据中最小值的时候,可以使用 Javascript 内置的 Math.min 函数。该函数会返回传入参数中的最小值。

下面是使用 Math.min 函数的代码示例:

let minValue = Math.min(1, 2, 3, 4, 5);
console.log(minValue); // 输出 1

上述代码中,我们传入了 5 个参数(1, 2, 3, 4, 5),Math.min 函数返回了这些参数中的最小值,即 1。

我们还可以将一组数据存储在一个数组中,然后使用 Math.min 函数获取最小值。

let arr = [1, 2, 3, 4, 5];
let minValue = Math.min(...arr);
console.log(minValue); // 输出 1

上述代码中,我们使用了 ES6 的扩展运算符 ... 来将数组中的所有元素作为参数传给了 Math.min 函数。

需要注意的是,Math.min 函数只能接受基本类型数据作为参数,如果传入的参数中有非数字类型的数据,将会返回 NaN。如果要比较数组中的复杂对象,可以使用自定义的比较函数进行比较。

下面是一个针对数组中的比较函数的示例:

function compareFunc(a, b) {
  if (a.age < b.age) {
    return -1;
  } else if (a.age > b.age) {
    return 1;
  } else {
    return 0;
  }
}

let people = [
  { name: 'Amy', age: 20 },
  { name: 'Bob', age: 18 },
  { name: 'Charlie', age: 25 }
];

let minValue = people[0];
for (let i = 1; i < people.length; i++) {
  if (compareFunc(people[i], minValue) < 0) {
    minValue = people[i];
  }
}

console.log(minValue); // 输出 { name: 'Bob', age: 18 }

上述代码中,我们定义了一个比较函数 compareFunc,该函数接受两个参数,比较两个参数的年龄,返回 -1、0、1 中的一个值。然后我们定义了一个存储人员信息的数组 people,并使用循环遍历数组中的每个元素,使用 compareFunc 函数比较数组中的元素,并获取最小值。最后输出最小值。

总结一下,在 Javascript 中,我们可以使用 Math.min 函数获取传入参数中的最小值,也可以将数组中的所有元素作为参数传给 Math.min 函数获取最小值。如果需要比较非基本类型数据,可以使用自定义的比较函数进行比较。