循环两个数组的问题?

发布于 6 年前作者 guiying681681 次浏览最后编辑 6 年前来自 ask

data: {a:[4],b:[1,2,3,], },

ps:function(e){

var c=this.data.a

c.push(e.currentTarget.dataset.shuzi)

this.setData({

a:c

})

},

视图层显示的

想点击1标红,再点2,2也标红,我的思路是:弄一个空数组(data中的a)点击那个数字,将点击的数字添加到空数组中,再在视图层遍历两个数组,两个数组中的数字相等就标红,可是为什么点击后会多循环一次(第一次循环是123,点击后是123123,再点就是123123123)?实在想不懂

3 回复
changna
changna1 楼6 年前

其实把数组改成这样的话,就简单很多

a:[{

value:1,

isChecked:false

},

value:2,

isChecked:false

]

点击的时候,就把那个的isChecked改成true,就好了

yan49
yan492 楼6 年前

你这最外层循环的a,你点击b的时候push到a数组中了,a数组增加所以多循环一次

pengyong
pengyong3 楼5 年前

因为你写的是双循环……