gpt4 book ai didi

javascript - 嵌套forEach/等待嵌套完成

转载 作者:行者123 更新时间:2023-12-02 22:35:26 25 4
gpt4 key购买 nike

人们以多种方式询问这个问题,但我找不到推论。

我有两个数组,我正在尝试比较两个数组之间的日期并构建一个列表,添加一个类并在日期匹配时更改状态。我有一种感觉,Each 不是正确的工具。这就是我所拥有的。我知道在内循环完成之前外循环正在继续,但我不知道如何修复它。似乎有一种无需 async/await 的简单方法。

FIDDLE

// main event loop
events.forEach(event => {
let {
date
} = event;
// presaleEvent loop
presaleEvents.forEach(presaleEvent => {
let {
presaleDate
} = presaleEvent;
if (presaleDate === date) {
status = 'PRESALE EVENT';
eventClass = 'presale';
}
});
// only 3, 5 & 6 should be presale events
let eventNode = `<li class="event ${eventClass}">${status}</li>`;
$(eventsList).append(eventNode);
});

最佳答案

我在发布问题后不久(以及在我的头撞到墙上几个小时后)就想出了这一点。

我只需重置父循环内部但内部循环外部的变量。

这是一个工作 FIDDLE .

// main event loop
events.forEach(event => {
let {
date
} = event;
status='EVENT'; // reset the status
eventClass=''; // reset the eventClass
// presaleEvent loop
presaleEvents.forEach(presaleEvent => {
let {
presaleDate
} = presaleEvent;
if (presaleDate === date) {
status = 'PRESALE EVENT';
eventClass = 'presale';
}
});
// only 3, 5 & 6 should be presale events
let eventNode = `<li class="event ${eventClass}">${status}</li>`;
$(eventsList).append(eventNode);
});

关于javascript - 嵌套forEach/等待嵌套完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58761124/

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