vue : 在vuex里写一个数组首尾元素互换的方法

本文介绍如何在Vuex中实现数组首尾元素的互换操作,包括使用mutation进行状态更改的方法,以及确保操作合法性的检测步骤。通过遍历state变量,检测变量类型与长度,确保只有符合要求的数组才能进行首尾元素互换。
摘要由CSDN通过智能技术生成

不着急上代码,先想几个问题。

vuex里怎么写方法?

  mutation里写vuex方法,组件中用commit调用。

数组首尾元素怎么互换?

  arr.splice(0, 0, arr[arr.length - 1])
  arr.pop()

怎样让这个方法是可复用的?

  组件中commit的时候提交想改的数组名字,并在vuex方法中进行检测。

需要检测啥?

  1 state中是否存在这个变量

  2 这个变量是不是一个符合要求(length > 1)的数组?

怎样检测是否存在这个变量?

  Object.keys(state) 遍历 state变量名,如果能找到和提交的变量名相同的,则是合法的。

怎样检测这个变量是否符合要求?

  Array.isArray(arr) && arr.length > 1

 

好了,可以上代码了。

vuex mutation:
swapArrayFirstAndLast(state, name){
      
// console.log("name", name)
      
// console.log(Object.keys(state))
      
const stateNameArr = Object.keys(state)
      
for (let x in stateNameArr) {
        
// console.log(stateNameArr[x])
        
if (stateNameArr[x] === name) {
          
if (Array.isArray(state[name]) && state[name].length > 1) {
            
// console.log("===bingo===")
            
let arr = state[name]
            
arr.splice(0, 0, arr[arr.length - 1])
            
arr.pop()
            
break
          
} else {
            
return
          
}          
        
}
      
}      
    
}
component.vue:
this.$store.commit('swapArrayFirstAndLast', 'aSimpleArray')

以上。




转载于:https://www.cnblogs.com/foxcharon/p/10152632.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值