如何使用 JavaScript 将数组中的某个元素向左(前)或向右(后)移动一位,同时保持数组长度不变?
时间: 2024-12-22 09:28:50 浏览: 12
在JavaScript中,可以使用`Array.prototype.splice()`方法将数组中的元素向左或向右移动一位。以下是两个示例:
1. 向右移动一位(相当于插入到目标位置前面):
```javascript
function moveElementRight(arr, targetIndex) {
if (targetIndex < arr.length - 1) { // 如果目标不在数组尾部
let movedElement = arr.splice(targetIndex, 1)[0]; // 移除并获取被移动的元素
arr.splice(targetIndex, 0, movedElement); // 插入到目标位置前面
}
return arr;
}
let array = [1, 2, 3, 4, 5];
let newArray = moveElementRight(array, 2); // 移动索引为2的元素到索引2前面
console.log(newArray); // 输出:[1, 2, 4, 3, 5]
```
2. 向左移动一位(相当于删除目标位置后面的元素):
```javascript
function moveElementLeft(arr, targetIndex) {
if (targetIndex > 0) { // 如果目标不是第一个元素
let movedElement = arr.splice(targetIndex, 1)[0]; // 移除并获取被移动的元素
arr.unshift(movedElement); // 插入到数组开头
}
return arr;
}
let array = [1, 2, 3, 4, 5];
let newArray = moveElementLeft(array, 2); // 移动索引为2的元素到索引0的位置
console.log(newArray); // 输出:[3, 1, 2, 4, 5]
```
阅读全文