//求数组中最大值最小值功能,这是我写的代码
//1.声明函数,加入形参,一个是数组,一个是布尔值
//数组表示要判断的值,布尔值判断要求最大值还是最小值
function getNum(arr, flag) {
//加入一个判断,调用函数后 先判断传进来的是求最大值还是求最小值
//按照功能要求其实这里,不是true那就是false,所以一个判断条件即可
if (flag === true) {
//假设arr[0]是最大值,注意假设声明的变量一定要放在循环的外面!作用域问题!
let str = arr[0]
//let i = 1 可以让代码少执行一次 提高效率
for (let i = 1; i < arr.length; i++) {
if (arr[i] > str) {
str = arr[i]
}
}
return `现在数组中的最大值是:${str}`
} else {
//变量名str处于else的局部,仍可以用str声明
//假设arr[0]在false条件下为最小值
let str = arr[0]
for (let i = 1; i < arr.length; i++) {
if (arr[i] < str) {
str = arr[i]
}
}
return `现在数组中的最小值是:${str}`
}
}
//函数调用,传入值数组和判断条件
console.log(getNum([60, 20, 30, 40, 50], true))//最大值60
//这里的false传或不传都可以判断最小值
console.log(getNum([3, 4, 5, 6, 7, 2], false))//最小值2
//别人写的代码
function getArrLimit(arr, flag) {
return flag === true ? Math.max(...arr) : Math.min(...arr)
}
console.log(getArrLimit([100, 20, 60, 88, 90], true));//100
console.log(getArrLimit([100, 20, 60, 88, 90],));//20
</script>