我正在刷Javascript函数和for循环,并且无法理解为什么下面的代码无法正常运行。 charAt()函数是否已弃用?我以为该函数将遍历我的cars
数组中的每个字符串......
var cars = ["BMW", "Volvo", "Saab", "Ford", "Fiat", "Audi"];
var i;
for (i = 0; i < cars.length; i++){
console.log(i.charAt(0))
}
答案 0 :(得分:2)
您将i
置于chaartAt()
,但您需要的是该位置的值cars[i]
将i.charAt(0)
更改为cars[i].charAt(0)
var cars = ["BMW", "Volvo", "Saab", "Ford", "Fiat", "Audi"];
var i;
for (var i = 0; i < cars.length; i ++) {
console.log(cars[i].charAt(0));
}
答案 1 :(得分:2)
i
是您的循环索引,因此它没有方法.charAt()
。你可能打算做cars[i].charAt(0)
。
这将从索引cars
的{{1}}数组中获取字符串,然后在该字符串上调用i
以获取字符串中的第一个字符。
这也可以写成.charAt(0)
,除非你需要支持像IE6中那样真正老的JS引擎。
最新的JS引擎中提供的另一种方法是使用cars[i][0]
语句。这样可以避免手动索引。
for of
这会将var cars = ["BMW", "Volvo", "Saab", "Ford", "Fiat", "Audi"];
for (const car of cars) {
console.log(car[0]);
}
的每个成员分配给cars
(每次迭代),这会让事情变得更加清晰。我也继续使用car
,因为任何支持[0]
语句的引擎也支持字符串索引。
答案 2 :(得分:1)
vonc@VONC:~/gits$ echo $PATH
/usr/local/bin:/usr/bin:/bin
vonc@VONC:~/gits$ which git
/usr/bin/git
vonc@VONCAVN7:~/gits$ git v
git version 2.13.0
vonc@VONC:~/gits$ export PATH=~/gits/v2.14.0/bin:$PATH
vonc@VONC:~/gits$ git v
git version 2.14.0
你没有提到你想要引用的元素的索引,charAt(0)不能为数字工作
答案 3 :(得分:0)
如果要迭代数组中的每个字符串,根本不需要charAt()。这是你在寻找什么,或者你只是想在迭代数组时想要每个字符串的第一个字符?
var cars = ["BMW", "Volvo", "Saab", "Ford", "Fiat", "Audi"];
var i;
for (i = 0; i < cars.length; i++){
console.log(cars[i])
}
这会将每个字符串输出到控制台,而不仅仅是第一个字符。