用data参数循环赋值的问题
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}]
为什么后面的值 会覆盖前一次的值呢,求大神指点