gpt4 book ai didi

javascript - 动态决定for循环的顺序

转载 作者:行者123 更新时间:2023-11-28 06:56:10 25 4
gpt4 key购买 nike

我需要能够从开头或结尾动态读取数组,并从该位置向上或向下工作。

这是由 bool 值决定的:var startFromBeginOfChat = true;

我尝试在 for 循环内传递一条语句,如下所示:

for (var i = startFromBeginOfChat ? (parsedChat.messages.length - 1):0; 
startFromBeginOfChat ? (i >= 0):(i < parsedChat.messages.length);
startFromBeginOfChat ? i--:i++)

还有其他方法可以动态触发一个或另一个 for 循环吗?我当然可以将整个逻辑存储到 if/else 语句中,但由于 for 循环内的逻辑完全相同,所以我宁愿不这样做。

最佳答案

正如评论中所述,如果需要向后解析列表,可以预先反转列表。整个最终代码如下:

if (!startFromBeginOfChat) parsedChat.messages.reverse();

for (var i = 0; i < parsedChat.messages.length; i++) {
// code
}

如果您需要原始列表再次按顺序排列,您可以在最后再次反转它(可能更有效,但语义更少),或者在最初反转它之前使用 parsedChat 创建一个新副本。 messages.slice()(我认为更具可读性)。

关于javascript - 动态决定for循环的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32555198/

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