/**
* 数组元素向上移动一个
* @param arr 数组
* @param index 要移动元素的下标
*/
export function upGo(arr, index) {
if (index !== 0) {
// splice返回删除掉的元素
const tempArr = arr.splice(index - 1, 1, arr[index])[0];
// 将调换的元素更新到数组的新位置
arr[index] = tempArr;
} else {
arr.push(arr.shift());
}
}
/**
* 数组元素向前追加一个
* @param arr 数组
* @param index 追加的位置
* @param data 追加的元素
*/
export function upAdd(arr, index, data) {
if (index !== 0) {
arr.splice(index - 1, 0, data);
} else {
arr.unshift(data);
}
}
/**
* 数组元素向下移动一个
* @param arr 数组
* @param index 要移动元素的下标
*/
export function downGo(arr, index) {
if (index !== arr.length - 1) {
const tempArr = arr.splice(index + 1, 1, arr[index])[0];
arr[index] = tempArr;
} else {
arr.unshift(arr.splice(index, 1)[0]);
}
}
/**
* 数组元素向下追加一个元素
* @param arr 数组
* @param index 追加的位置
* @param data 追加的元素
*/
export function downAdd(arr, index, data) {
arr.splice(index + 1, 0, data);
}
/**
* 数组中元素交换位置
* @param arr 数组
* @param index1 要交换元素的下标
* @param index2 要交换元素的下标
* @returns 新数据
*/
export function swapArr(arr, index1, index2) {
const tempArr = arr.splice(index2, 1, arr[index1])[0];
arr[index1] = tempArr;
return arr;
}
/**
* 数组中元素置顶
* @param arr 数组
* @param index 要置顶元素的下标
*/
export function toFirst(arr, index) {
if (index !== 0) {
// arr[index] = arr.splice(0, 1, arr[index])[0]; 这种方法是与另一个元素交换了位子,
arr.unshift(arr.splice(index, 1)[0]);
}
}
操作数组元素前移、后移、前面追加一个元素、后面追加一个元素
最新推荐文章于 2024-12-08 22:47:37 发布