gpt4 book ai didi

javascript - 嵌套 For 循环困惑

转载 作者:行者123 更新时间:2023-12-01 00:47:30 25 4
gpt4 key购买 nike

我正在编写一个嵌套的 For 循环。尝试设置休息时间,但似乎不起作用。这就是我正在尝试做的事情。举个例子:

var playersList = sam,tom,jane

var playersDrafted = tom,jane

playersDrafted 中找不到 Sam,所以我希望 Sam 的名字没有划线。 Tom 和 Jane 在 playersDrafted 中找到,所以我确实希望他们的名字有一个横线。我编写的代码返回的是:

sam
sam
tom
tom
jane
jane

结果应该是:

sam
tom
jane

如有任何建议,我们将不胜感激。

<div>
<table align="center">
<? for(var i=0;i<playersList.length;i++){ ?>
here:
<? for(var y=0;y<playersDrafted.length;y++){ ?>

<? if(playersList[i]==playersDrafted[y]) { ?>
<tr>
<td style="text-decoration: line-through;"><?=
playersList[i]; ?></td>
</tr>
<? break here; ?>
<? } ?>

<? } ?>
<tr>
<td><?=
playersList[i]; ?></td>
</tr>
<? } ?>

</table>
</div>

最佳答案

正如 @Shilly 提到的,在你的情况下,你实际上并不需要 2 个嵌套的 for 循环。不使用 2 个嵌套 for 循环也会减少 complexity代码空间(如果您有很大的列表,则差异不可忽略)。

但是,当您询问有关使用 2 个嵌套 for 循环的帮助时,我用纯 Javascript 编写了这段小代码。我添加了一个 bool 值notDrafted,如果第二个循环到达结束而没有中断,我们会打印出未选秀球员的姓名。

var playersList = ["sam", "tom", "jane"];

var playersDrafted = ["tom", "jane"];

var notDrafted = true;

for (var i = 0; i < playersList.length; i++){
for (var j = 0; j< playersDrafted.length; j++) {
if(playersList[i]==playersDrafted[j]) {
console.log(playersList[i] + "with line");
notDrafted = false;
}
}
if (notDrafted) {
console.log(playersList[i]);
}
notDrafted = true; // reset to not drafted
}

关于javascript - 嵌套 For 循环困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57255157/

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