js 使用for-of求数组的最大数和最小数
时间: 2024-02-21 20:00:37 浏览: 61
您可以使用以下代码实现:
```js
const arr = [10, 5, 20, 15, 8];
let max = arr[0];
let min = arr[0];
for (const num of arr) {
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
}
console.log(`最大值:${max}`); // 输出 20
console.log(`最小值:${min}`); // 输出 5
```
在这个代码中,我们首先定义了一个数组 arr,然后定义了两个变量 max 和 min,分别初始化为数组的第一个元素。接着,我们使用 for-of 循环遍历数组中的每个元素,并使用 if 语句来判断是否需要更新最大值和最小值。最后,我们使用 console.log() 函数将最大值和最小值输出到控制台。
相关问题
js使用for-of求数组的最大数和最小数
可以使用for-of循环和Math对象的min和max方法来实现:
```javascript
const arr = [3, 5, 1, 8, 2];
let max = -Infinity;
let min = Infinity;
for (const num of arr) {
max = Math.max(max, num);
min = Math.min(min, num);
}
console.log(`最大数: ${max}`); // 最大数: 8
console.log(`最小数: ${min}`); // 最小数: 1
```
在循环中,我们使用Math.max和Math.min方法来更新最大值和最小值。一开始,我们将最大值设为负无穷大,将最小值设为正无穷大,这样可以确保数组中的任何值都可以更新它们。最后,我们输出最大值和最小值。
使用js自定义函数 Sum 要求传入参数n (n为5-10之间的任意随机数),要求生成n个(1-32)不重复的随机数,最终在控制台返回 排序后的数组 最大值 最小值 平均值(保留两位小数) 以及求和; 1.封装随机函数 sjNum 2.封装函数 sum 并传入参数n 3.n为 5- 10 之间的任意随机数 4.生成n个 1-32之间的不重复随机数 5.排序要求 使用冒泡排序 降序 6.返回最大值 最小值 平均值 以及 和 7.平均值保留两位小数 8.求和使用reduce方法
好的,我来回答你的问题。
以下是符合你要求的代码:
```javascript
// 封装随机函数
function sjNum(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
// 封装函数 sum
function sum(n) {
// n 为 5-10 之间的任意随机数
n = sjNum(5, 10);
// 生成 n 个 1-32 之间的不重复随机数
var arr = [];
while (arr.length < n) {
var num = sjNum(1, 32);
if (arr.indexOf(num) === -1) {
arr.push(num);
}
}
// 冒泡排序,降序
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 返回最大值、最小值、平均值(保留两位小数)、和
var max = arr[0];
var min = arr[arr.length - 1];
var sum = arr.reduce(function(total, num) {
return total + num;
});
var avg = (sum / arr.length).toFixed(2);
console.log(arr);
console.log("最大值:" + max);
console.log("最小值:" + min);
console.log("平均值:" + avg);
console.log("和:" + sum);
return {
arr,
max,
min,
avg,
sum
};
}
// 调用函数 sum
sum();
```
注意,这里使用了 `toFixed` 方法来保留平均值的两位小数。
阅读全文