[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);
};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值