遍历字符串
length属性
该length
属性具有字符串长度,它仅返回字符串中的字符数:
let str = "hello123"; alert(str.length); // 8 // the last character alert(str[str.length - 1]); // 3
请注意,这
str.length
是数字属性,而不是函数。无需在其后添加括号。
使用字符串索引号遍历字符串
for循环
要遍历字符串的所有字符,我们可以使用一个普通的for
循环,并使用一个循环计数器(i
)来对字符串索引from0
进行遍历str.length
:
// ordinary for loop let str = "Buzz"; for (let i = 0; i < str.length; i++) { console.log(str[i]); }
for … in …
存在一种特殊的循环形式:for...in...
。这与for
我们之前研究的普通循环不同。
在此循环中,变量i
自动接收索引,以便可以使用来访问每个字符str[i]
。
例子:
// for... in for (let i in str) { console.log(str[i]); }
上面两种for
循环将str
完全相同地遍历字符串,它们在控制台中都得到相同的结果:
B u z z
for … of …
迭代字符串的另一种方法是使用for item of str
。变量item
直接接收字符,因此您不必使用索引。如果您的代码不需要每个字符的索引值,则此循环格式甚至更简单。
例子:
// for ... of ... for (let char of "Hello") { console.log(char); } // console result: H e l l o