如何在for循环中打印整个列表?

Ste*_*eve 6 javascript

我只是想练习Javascript,所以我尝试这个简单的代码.在我的预期,输出应该是整个列表.

当我使用这段代码时,我只能输出[5,9,17,14,4,19,11,8,13,10,18,15,16,20]

我不知道发生了什么,[1,0,2,3,6,7,12 ...]

[5, 9, 17, 14, 4, 19, 11, 8, 13, 10, 18, 15, 16, 20]
Run Code Online (Sandbox Code Playgroud)

小智 8

条件检查if(!(li[i]in x)){不正确.in检查数组中是否存在键(索引).

改成 if(!x.includes(li[i])){


Joh*_*nes 3

Javascript 如果在 x我得到

JavaScript 确实有 in 运算符,但它测试的是键而不是值。

因此,您不会获得这些值,因为您检查了键 -> 0、1、2、3 等,并且在列表中的第 1 项的位置处,第一个键已被使用。

换句话说,在您的具体情况下, if 实际执行的是if(x.length < li[i])

只是澄清一下,并非每种情况都if(x.length < li[i])一样!!(li[i]in x)

要打印整个列表,请使用includesif 。https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/includes