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 1
var 换成 let
|
3
stillsilly 2019-04-21 16:11:22 +08:00 2
你指的是为什么这两个值不一样吗?
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 1
list 泄漏到全局变量里面去了。list 要先在循环里面定义 const list = {},另外,定义变量不要用 var,用 let 或 const 代替
|
6
agdhole 2019-04-21 18:28:23 +08:00 via Android 1
用 了 let const,建议看教程去 mdn,不要被 csdn 的乐色文毒害了
|
9
Destiny97 OP 我也是服了有些写博客的人,就直接复制别人的,错的也复制,害人不浅,之前学 uboot 的时候快被坑死了
|