在我的例子中,我为什么会获得数组的 ['undefined1','undefined2']
值?我把它推到了同样的范围内。
router.post('/add', function(req, res) {
var imageArr = [];
for(var i = 1; i <= 4; i++) {
if (req.body["photo" + i]) {
imageArr.push(req.body.photo + '' + i);
}
}
console.log(imageArr) // working fine here, returning correct values like ['something','something']
if (req.body.is_update) {
console.log(imageArr) // working fine here too, returning correct values
} else {
console.log(imageArr) // not working fine here, returning undefined1, undefined2..
}
}
可能是因为异步吗?
最佳答案
我想我应该把我的评论变成这个问题的正式答案,这样它就不会悬而未决。
您需要将脚本的这部分 imageArr.push(req.body.photo+''+i);
替换为 imageArr.push(req.body["photo"+我]);
。这两种情况的控制台输出示例可以在 fiddle. 中看到。
关于javascript - javascript 中奇怪的关闭问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34822854/