//数组元素变换位置
// 上移一位
upgo(arr, index) {
if (index != 0) {
arr[index] = arr.splice(index - 1, 1, arr[index])[0];
} else {
arr.push(arr.shift());
}
},
// 下移一位
downgo(arr, index) {
if (index != arr.length - 1) {
arr[index] = arr.splice(index + 1, 1, arr[index])[0];
} else {
arr.unshift(arr.splice(index, 1)[0]);
}
},
代码实现上移功能(upgo)解释:
- 首先判断
index
是否不等于0,如果不等于0,说明需要将数组中的元素向上移动。 - 使用
splice()
方法从数组中移除指定位置的元素,并将其插入到前一个位置。这里的index-1
表示要插入的位置,1
表示要移除的元素个数,arr[index]
表示要插入的元素。 splice()
方法返回一个包含被移除元素的新数组,通过索引[0]
获取该元素。- 如果
index
等于0,说明需要将数组中的第一个元素移动到数组的末尾。这里使用shift()
方法移除数组的第一个元素,并使用push()
方法将其添加到数组的末尾。