[JavaScript][ECMAScript]数组项的移动 Array.move

/**
 * 将数组中索引号为 sID 的项移动到索引为 tID 项的后面。此方法将改变数组项的顺序。
 * @param {number} sID 要移动的索引号
 * @param {number} tID 目标索引号,包含要移动的项的索引号在内。
 * @returns {undefined} 无返回值
 * @example ["a","b","c","d","e","f","g"].move(2,0) 结果为 ["c","a","b","d","e","f","g"]
 *          ["a","b","c","d","e","f","g"].move(2,5) 结果为 ["a","b","d","e","f","c","g"]
 */
Array.prototype.move = function (sID, tID) {
    if (sID >= this.length || tID >= this.length || sID < 0 || tID < 0 || sID == tID) { return; }
    let sItem = this.splice(sID, 1)[0];//删除并返回要移动的项

    //添加到目标位置。现在的数组少了一项,所以 tID 就是目标项后面的项索引
    this.splice(tID, 0, sItem);
};

 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

Triumph

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值