gpt4 book ai didi

javascript - while 循环和回调返回不同的结果

转载 作者:行者123 更新时间:2023-11-30 00:11:18 24 4
gpt4 key购买 nike

我有一个 while 循环匹配一个条件来过滤来自 mongodb 的数据。但是,当我使用回调时,我只在 console.log 中收到一个结果。如果我在 while 循环中使用 console.log,我应该会收到三个条目。为什么只有一条数据进入回调?

while(i--) {
if (0 >= [friday, saturday, sunday].indexOf(results[i].selectedDate)) {
theWeekend = results[i];
console.log(theWeekend); //returns three results (correct)
}
}
callback(err, theWeekend)
console.log(theWeekend); //returns one results (incorrect)

正确的数据

{ _id: 56fffb5ceb76276c8f39e3f3,
url: 'http://londonist.com/2015/11/where-to-eat-and-drink-in-balham',
title: 'Where To Eat And Drink In... Balham | Londonist',
selectedDate: Fri Apr 01 2016 01:00:00 GMT+0100 (BST),
__v: 0 }
{ _id: 56fffb8eeb76276c8f39e3f5,
url: 'https://news.ycombinator.com/item?id=11404770',
title: 'The Trouble with CloudFlare | Hacker News',
selectedDate: Sun Apr 03 2016 01:00:00 GMT+0100 (BST),
__v: 0 }
{ _id: 56fffb6ceb76276c8f39e3f4,
url: 'http://wellnessmama.com/13700/benefits-coconut-oil-pets/',
title: 'Benefits of Coconut Oil for Pets - Wellness Mama',
selectedDate: Sat Apr 02 2016 01:00:00 GMT+0100 (BST),
__v: 0 }

数据不正确

{ _id: 56fffb6ceb76276c8f39e3f4,
url: 'http://wellnessmama.com/13700/benefits-coconut-oil-pets/',
title: 'Benefits of Coconut Oil for Pets - Wellness Mama',
selectedDate: Sat Apr 02 2016 01:00:00 GMT+0100 (BST),
__v: 0 }

最佳答案

需要用一个数组来存储所有的结果如下:

var theWeekends = []
while(i--) {
if (0 >= [friday, saturday, sunday].indexOf(results[i].selectedDate)) {
theWeekends.push(results[i]);

}
}
callback(err, theWeekends)
console.log(theWeekends); //returns 3 results (correct)

关于javascript - while 循环和回调返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36382821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com