数组位置移动

// 交换数组元素
var swapItems = function (arr, index1, index2) {
   arr[index1] = arr.splice(index2, 1, arr[index1])[0];
   return arr;
};

// 上移
var upRecord = function (arr, $index) {
   if ($index == 0) {
      return;
   }
   swapItems(arr, $index, $index - 1);
};

// 下移
var downRecord = function (arr, $index) {
   if ($index == arr.length - 1) {
      return;
   }
   swapItems(arr, $index, $index + 1);
};
// 上下多位置移动
var change = function (arr, to, from) {
   if (to < from) {
      for (let i = to; i < from; i++) {
         downRecord(arr, i);
      }
   }
   if (to > from) {
      for (let i = to; i > from; i--) {
         upRecord(arr, i);
      }
   }
   return arr;
};
posted @   nate_pan  阅读(142)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示