Javascript For循环If语句和数组



我想让数组从数组的第二个元素开始打印[2…].. 但有些事我不明白。我编写了一个if语句来实现这一点,如下所示。然而,它没有返回想要的结果。我的意思是,它从数组的开头开始打印!!

let start = 0;
let mix = [1, 2, 3, "A", "B", "C", 4];
for (let i = start; i < mix.length; i++) {
if (mix[i] === start) {
continue;
}
document.write(`${mix[i]} <br>`);
}

但是,当我替换"mix[I]"只有&;i&;如下所示,它返回所需的结果,并从第二个元素开始打印。

let start = 0;
let mix = [1, 2, 3, "A", "B", "C", 4];
for (let i = start; i < mix.length; i++) {
if (i === start) {
continue;
}
document.write(`${mix[i]} <br>`);
}

更新:因此,问题是第一个if和第二个if之间有什么区别,以及为什么第一个if "混合[i]"不打印想要的结果,而第二个它工作!!

我很感激你的帮助。

在第一个示例中使用该位置的数组值,在第二个示例中使用索引。对于第一个代码,条件是:

if (mix[i] === start)

在本例中,mix[i]将是存储在该索引中的值,因此对于第一次迭代,它将是mix[0],这将是数组中的1。1≠0,所以它不会进入continue,因此打印它

在第二个代码中,条件是:
if (i === start)

在这种情况下,您实际使用的是索引位置,而不是该索引的数组值。这就是区别。

mix[i] === start

这里mix[0] === 1这就是为什么如果块被跳过,因为start=0;I也是0,这就是为什么在第二个例子中它是正确的输出。

最新更新