遍历字符串

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
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐