收藏
回答

用data参数循环赋值的问题

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows v1.02.1902010
for (var i = 0; i < that.data.meetingInfo.length; i++) {
    for (var m = 0; m < timeListUse.length; m++) {
 
        for (var j = 0; j < jsonres.Tables[0].Rows.length; j++) {
             if (timeListUse[m].time >= jsonres.Tables[0].Rows[j].startTime &&
                  timeListUse[m].time < jsonres.Tables[0].Rows[j].endTime) {
                  timeListUse[m].flag = "take";
                  break;
                 }
                }
               }
  
   
  
               var thisList = timeListUse;
               timeSpaceListToCom = timeSpaceListToCom.concat([{
               timeSpaceList: thisList
               }])
  
             that.setData({
             timeListToCom: that.data.timeListToCom.concat([{
             timeSpaceList: thisList,
             }]),
         })
 
}

其中数据先不管,

比如 最外层循环为2次,

中间循环为4次,

最后一层循环 判断 改变中间层循环的List值

假设 初始List {1,1,1,1}

在第一层循环第一次结束时 假设List为{0,1,1,1}将timeListToCom赋值拼接这个List  timeListToCom为[{0,1,1,1}]

在第一层循环第二次结束时 假设此时List为{0,0,0,1} 将timeListToCom拼接这个List

理论上 timeListToCom为[{0,1,1,1},{0,0,0,1}]

但是返回结果为[{0,0,0,1},{0,0,0,1}]

为什么后面的值 会覆盖前一次的值呢,求大神指点


回答关注问题邀请回答
收藏

2 个回答

  • 米诺
    米诺
    2020-09-19

    同遇循环解构赋值,前一次的赋值被覆盖的问题,最终结果只保留最后一个值,请问楼主是否解决了?

    2020-09-19
    有用
    回复
  • 荒城回廊
    荒城回廊
    2019-04-19

    为什么没人理我的帖子

    2019-04-19
    有用
    回复
登录 后发表内容