if(this.imgData){
let currtNUm = this.imgData.length
let needNum = 0
if(currtNUm === 4){
needNum = 0
}
if(currtNUm === 3){
needNum = 1
}
if(currtNUm === 2){
needNum = 2
}
if(currtNUm === 1){
needNum = 3
}
for (var i = 0; i < (this.imgData).length; i++) {
if(value === this.imgData[i].value){
this.subsidiaryPic[needNum].url = this.imgData[i].url
this.imgData.splice(i,1)
}
}
}
如上所示,业务逻辑就是这样,功能都实现了,但是代码太乱太长了,想要优化下,
小弟先谢谢各位大神们的解答!感激不尽!
可以通过使用计算属性和更简洁的条件语句来简化这段代码。这是一个简化后的版本:
首先,我们在Vue实例中创建一个计算属性
needNum
,该属性将根据this.imgData
的长度返回相应的值。接下来,将之前的逻辑封装到一个名为updateSubsidiaryPic
的方法中。在这个方法中,我们使用findIndex
函数来查找与给定值匹配的元素。如果找到了匹配的元素,我们就更新subsidiaryPic
数组,并从imgData
中移除该元素。这样,我们的代码变得更简洁且易于理解。