js数组获取次大次小值(获取数组中的第二大值和第二小值)的代码
时间: 2024-10-28 20:09:47 浏览: 13
在JavaScript中,获取数组中的第二大值和第二小值并不是直接内置的功能,因为数组排序默认会返回一个新的已排序数组,而不是原地操作。你可以通过以下步骤实现:
1. **首先找到最小值**:
```javascript
let min = Math.min(...array);
```
2. **然后去除最小值,再次找到新数组中的最小值,这就是第二小值**:
```javascript
let secondSmallest = Math.min(...array.filter(num => num !== min));
```
3. **接着找到最大值**:
```javascript
let max = Math.max(...array);
```
4. **移除最大值后,剩下的最大值就是第二大值**:
```javascript
let secondLargest = Math.max(...array.filter(num => num !== max));
```
完整代码如下:
```javascript
function findSecondMinMax(array) {
let min = Math.min(...array);
let secondSmallest = Math.min(...array.filter(num => num !== min));
let max = Math.max(...array);
let secondLargest = Math.max(...array.filter(num => num !== max));
return {secondSmallest, secondLargest};
}
let arr = [5, 3, 9, 1, 7];
let result = findSecondMinMax(arr);
console.log('第二小值:', result.secondSmallest);
console.log('第二大值:', result.secondLargest);
阅读全文