怎么让点击数组中的那个值,让这个值变为第一个值,其他的值顺序不变

怎么让点击数组中的那个值,让这个值变为第一个值,其他的值顺序不变

今天做的时候遇到了这个问题,于是乎就思考了一下,解决了,特意记录一下

changeIndex(i){
        let len =this.recently.length;
        let rec=this.recently[i]
        let kkk=this.recently[0]
        let eee=this.recently[i]
        for(let k=0;k<len;k++){
          if (k==i){
            this.$set(this.recently,0,rec)
            break;
          }else {
            eee=this.recently[k+1]
            this.$set(this.recently,k+1,kkk)
            kkk=eee
          }
        }
      },

这个是在前端vue写的,

原理:

首先点击的时候传过来一个索引,记录的是你点击的那一条,循环中先判断是不是这个索引如果是就不需要再判断了直接break就好了

如果不是你点击的索引,就进行改变索引用的$set方法,如果你点击的是第三个
0 => 1
1 => 2
2 => 0
值的变化是这样的,这就需要在变化之前先把索引值+1的那条数据保存起来,也就是eee的工作,再把eee赋给kkk,而kkk则是实际上改变的值,

我测试了多次是没有问题的,哈哈哈~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值