我有这段代码,每次第一个 for 循环再次开始时,我希望它将数组重置为空白,因为它正在使用新用户,但我得到的输出包含一个数组中的所有值。
var items = [];
for (var i = 0; i < userArray.length; i++) {
items.length = 0;
for (var i2 = 0; i2 < test.length; i2++) {
var UserFavourite = Parse.Object.extend("UserFavourite");
var queryUserFav = new Parse.Query(UserFavourite);
queryUserFav.equalTo('item', test[i2].get('item'));
queryUserFav.equalTo('school', test[i2].get('school'));
queryUserFav.equalTo('user1', userArray[i])
queryUserFav.find().then(function(res) {
for (var i3 = 0; i3 < res.length; i3++){
var item = res[i3];
var itemName = item.get('item');
items.push(itemName);
if (items !== []) {
console.log(items.toString()+" + ")
}
}
});
}
}
userArray.length 等于 2,test.length 等于 20。如果您想知道。当它到达第一个 for 循环时,我希望将数组设置回空白,但事实并非如此?
感谢您提前提供的帮助。
最佳答案
我认为你应该使用设置:
items.length = 0
因为 items = []
创建一个不一样的新数组。
还添加一些 promise 以使异步请求等待
关于javascript - 数组未设置回 [] (空白),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25615245/