用data参数循环赋值的问题
发布于 5 年前 作者 duanmin 10002 次浏览 来自 问答
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}]

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

1 回复

为什么没人理我的帖子

回到顶部