收藏
回答

循环两个数组的问题?

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 个回答

  • i
W
    i W
    2020-01-02

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

    a:[{

    value:1,

    isChecked:false

    },

    value:2,

    isChecked:false

    ]

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

    2020-01-02
    有用
    回复 2
  • 袁康
    袁康
    2020-01-02

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

    2020-01-02
    有用
    回复
  • 子不语
    子不语
    2020-01-02

    因为你写的是双循环……

    2020-01-02
    有用
    回复 3
登录 后发表内容
问题标签