js.输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
时间: 2023-11-02 10:31:01 浏览: 68
js代码-数组元素交换位置
好的,这是一个常见的数组操作题,可以按照以下步骤来实现:
1. 定义一个函数,接收一个数组作为参数。
2. 找到数组中的最大值和最小值,以及它们对应的索引。
3. 将最大值和数组的第一个元素交换位置,将最小值和数组的最后一个元素交换位置。
4. 返回交换后的数组。
下面是实现代码:
```javascript
function swapArray(arr) {
let max = arr[0], min = arr[0];
let maxIndex = 0, minIndex = 0;
for(let i = 0; i < arr.length; i++) {
if(arr[i] > max) {
max = arr[i];
maxIndex = i;
}
if(arr[i] < min) {
min = arr[i];
minIndex = i;
}
}
[arr[0], arr[maxIndex]] = [arr[maxIndex], arr[0]];
[arr[arr.length - 1], arr[minIndex]] = [arr[minIndex], arr[arr.length - 1]];
return arr;
}
```
使用示例:
```javascript
let arr = [3, 1, 5, 4, 2];
console.log(swapArray(arr)); // [5, 1, 3, 4, 2]
```
这里假设数组中不存在相同的最大值或最小值,如果存在需要进行额外的处理。
阅读全文