setdata修改完的值在循环内外值就不一致?
发布于 7 年前 作者 duli 1365 次浏览 来自 官方Issues

var _this=this;

var n = _this.data.markers.length;

for (var i = 0; i < app.globalData.szArray.length; i++) {

_this.setData({

'markersObj.id': n + i,

'markersObj.longitude': app.globalData.szArray[i].longitude,

'markersObj.latitude': app.globalData.szArray[i].latitude,

'markersObj.iconPath': "../../images/8.png",

'markersObj.callout.content': "失物招领",

'markersObj.callout.color': "#FF3333",

})

app.globalData.markerArray.push(_this.data.markersObj);

console.log("里" + app.globalData.markerArray[i].latitude)

}

console.log("外" + app.globalData.markerArray[0].latitude + " " + app.globalData.markerArray[1].latitude)

打印出来的值循环内markerArray数组的第一个元素和第二个元素值不一样,但循环外markerArray数组的第一个元素和第二个元素值就一样了,为什么呢?那个好心人帮我解决一下这个问题,非常感谢!!!

1 回复

var i 改成 let i 试试

回到顶部