循环两个数组的问题?
发布于 5 年前 作者 guiying68 1497 次浏览 来自 问答

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 回复

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

a:[{

value:1,

isChecked:false

},

value:2,

isChecked:false

]

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

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

因为你写的是双循环……

回到顶部