js使用reduce求数组中的最大数, var arr = [2,4,6,3,7,8,5]
时间: 2023-07-02 21:23:09 浏览: 44
可以使用 reduce 方法结合 Math.max 来求数组中的最大数,代码如下:
```
var arr = [2, 4, 6, 3, 7, 8, 5];
var max = arr.reduce(function(prev, curr) {
return Math.max(prev, curr);
});
console.log(max); // 输出 8
```
在 reduce 方法中,第一个参数 prev 为上一次迭代的返回值,第二个参数 curr 为当前迭代的元素值。在每次迭代中,将 prev 和 curr 中的最大值作为下一次迭代的返回值,最终得到数组中的最大值。
相关问题
数组去重 例如:var arr = [1,2,3,4,5,3,4,6,8,1] 编写程序去除数组内重复的值得到如下结果 arr = [1,2,3,4,5,6,8]
有多种方法可以实现数组去重。其中一种方法是利用ES6的Set数据结构。可以创建一个空的Set对象,遍历需要去重的数组,将每一个元素添加到Set中。由于Set中不会存在相同的元素,所以最终得到的结果就是去重后的数组。下面是一个示例代码:
```
function unique(arr) {
return Array.from(new Set(arr));
}
var arr = [1,2,3,4,5,3,4,6,8,1];
arr = unique(arr);
console.log(arr); //[1,2,3,4,5,6,8]
```
另一种方法是利用reduce函数。可以创建一个空的Map数据结构,遍历需要去重的数组,将数组的每一个元素作为key存储到Map中。由于Map中不会出现相同的key值,最终得到的就是去重后的结果。下面是一个示例代码:
```
function unique(arr) {
return arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);
}
var arr = [1,2,3,4,5,3,4,6,8,1];
arr = unique(arr);
console.log(arr); //[1,2,3,4,5,6,8]
```
以上是两种常用的数组去重方法,你可以根据自己的需求选择其中一种来使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [JavaScript数组去重(12种方法,史上最全)](https://blog.csdn.net/weixin_34378045/article/details/88737041)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
用JavaScript求数组2,6,1,7,4里面所有元素的和以及平均值
数组2,6,1,7,4的和为20,平均值为4。以下是JavaScript代码:
var arr = [2, 6, 1, 7, 4];
var sum = arr.reduce(function(a, b) {
return a + b;
});
var avg = sum / arr.length;
console.log("数组元素的和为:" + sum);
console.log("数组元素的平均值为:" + avg);