📅  最后修改于: 2023-12-03 14:57:56.398000             🧑  作者: Mango
当我们需要获取一组数据中最小值的时候,可以使用 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
函数获取最小值。如果需要比较非基本类型数据,可以使用自定义的比较函数进行比较。