【发布时间】:2019-12-18 16:11:23
【问题描述】:
let newArray = ['t', 'r', 'c', 'g', 't', 'h'];
for (let i = 0; i < newArray.length; i++) {
const x = newArray.indexOf([i])
console.log(x)
}
我是 javascript 的初学者,我不明白为什么这段代码不起作用。 我试图以最简单的方式产生这个结果:
0:4
1:-1
2:-1
3:-1
4:-1
5:-1
相反,它遍历数组并产生 6 x -1。即使数组中的第一个元素确实再次出现。 感谢您在理解为什么会发生这种情况以及如何解决它方面提供的任何帮助
【问题讨论】:
-
为什么要将索引放在数组中?即使它不在数组中,0 也应该返回 -1,因为它无论如何都不在数组中
-
您应该改用
newArray[i]。不过,我不确定你为什么要这样做。它只会返回第一个实例的索引 -
我不知道
['t', 'r', 'c', 'g', 't', 'h']应该如何以0:4, 1:-1, 2:-1, 3:-1, 4:-1, 5:-1结尾 -
我不明白为什么人们回答一个没有明确结果的问题。
-
@Kobe 他给出了输入和输出,这是产生该输出的唯一合乎逻辑的方式,虽然我同意,但问题应该更简洁。我的代码确实产生了结果(实际上,只需将其复制粘贴到您的控制台中......)
标签: javascript arrays for-loop indexof