

db.collection('bikeManage').get() .then(res => { that.setData({ bikeList: [] }) var bikeLists = []; for (var i = 0; i < res.data.length; i++) { list.bikeID = res.data[i].bikeID; //console.log(res.data[i].bikeID) if (res.data[i].showOnMap) { list.showOnMap= "正常"; } else { list.showOnMap= "未投入"; } console.log(list) bikeLists.push(list); } 不懂就要问,是我写错了还是怎么回事,不能理解图片的结果
1 Destiny97 OP 最后一个的 bikeID 是 test1,为什么会出现图片上的结果,不知道为什么 |
2 yxwzaxns 2019-04-21 15:50:12 +08:00 via iPhone var 换成 let |
3 stillsilly 2019-04-21 16:11:22 +08:00 你指的是为什么这两个值不一样吗? https://s2.ax1x.com/2019/04/21/EFlzxx.jpg 因为 console.log 一个对象的时候,保持着对这个对象的 [引用] ,点开的时候,显示的是最新的值, 比如这样: https://s2.ax1x.com/2019/04/21/EF1QeS.jpg |
4 Destiny97 OP @stillsilly 原来如此,js 很菜,现学了点,谢谢 |
5 jokyme 2019-04-21 18:06:16 +08:00 list 泄漏到全局变量里面去了。list 要先在循环里面定义 const list = {},另外,定义变量不要用 var,用 let 或 const 代替 |
6 agdhole 2019-04-21 18:28:23 +08:00 via Android 用 了 let const,建议看教程去 mdn,不要被 csdn 的乐色文毒害了 |
9 Destiny97 OP 我也是服了有些写博客的人,就直接复制别人的,错的也复制,害人不浅,之前学 uboot 的时候快被坑死了 |