怎么让点击数组中的那个值,让这个值变为第一个值,其他的值顺序不变
今天做的时候遇到了这个问题,于是乎就思考了一下,解决了,特意记录一下
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则是实际上改变的值,
我测试了多次是没有问题的,哈哈哈~~~~