if(res.code == 1) {
this.tableData = res.data
for (var i = 0; i < this.tableData.length; i++) {
if (this.tableData[i].productJson.length > 1) {
for (var k = 0; k < this.tableData[i].productJson.length; k++) {
this.str += this.tableData[i].productJson[k].goodsName + ","
}
this.str= this.str.substring(0, this.str.lastIndexOf(','))
this.tableData[i].goodsName = this.str
} else {
this.tableData[i].goodsName = this.tableData[i].productJson[0].goodsName
}
}
}
以上做法发现了一个bug,会把每次渲染出的字符串重新拼接在一起

换了种方式处理:
for (var i = 0; i < this.tableData.length; i++) {
if (this.tableData[i].productJson.length > 1) {
this.str = this.tableData[i].productJson.map(item => item.goodsName).join(",")
this.tableData[i].goodsName = this.str
} else {
this.tableData[i].goodsName = this.tableData[i].productJson[0].goodsName
}
}

本文介绍了一种在处理产品JSON数据时出现的字符串拼接Bug,并提供了解决方案。通过使用map和join方法,避免了重复拼接字符串的问题,提高了代码效率。

7254

被折叠的 条评论
为什么被折叠?



