您的位置:

JS字符串遍历详解

一、for循环遍历字符串

let str = 'hello world';
for(let i=0; i<str.length; i++){
    console.log(str[i])
}

for循环是最常用的遍历字符串的方法,通过控制变量i的值,可以依次访问到字符串的每一个字符。需要注意的是,在JavaScript中,字符串是以UTF-16编码方式存储的,因此一个字符可能占据1个或2个字节,所以字符串长度并不等于字符个数,可以通过字符串对象的.length属性获取实际长度。

for循环可以拆成两个部分,即初始化部分和循环条件部分。这里的初始化部分为let i=0,即将计数器i初始化为0;循环条件部分为i<str.length,即当i小于字符串长度时执行循环语句;每次循环完毕后,都会将计数器i+1。

需要注意的是,在字符串中,每个字符都是以0开始编号的,因此循环条件部分要用小于号<而不是小于等于号<=。如果使用错误的循环条件,会导致越界或产生不必要的错误结果。

二、for...in遍历字符串

let str = 'hello world';
for(let i in str){
    console.log(str[i])
}

for...in语句可以遍历对象的属性,对于字符串来说,它会将字符串视为一个字符数组,依次遍历每个字符。与for循环不同,for...in会遍历所有可枚举属性,包括字符串对象的原型中的属性,所以需要使用hasOwnProperty()方法判断是否为自身属性。

需要注意的是,在使用for...in遍历字符串时,获取到的每个字符都是一个字符串类型,需要通过调用charAt()方法或直接将索引值转换为数字类型来获得实际字符。

三、for...of遍历字符串

let str = 'hello world';
for(let value of str){
    console.log(value)
}

for...of语句是ES6新增的遍历方法,可以直接遍历字符串的值而不是索引。与for...in遍历对象的属性类似,for...of也会遍历所有可迭代的对象,包括数组、Set、Map等。

for...of与传统的for循环和for...in遍历最大的不同点就在于它处理的不是索引,而是元素本身,因此遍历结果与原始数据结构保持一致。

四、forEach遍历字符串

let str = 'hello world';
Array.prototype.forEach.call(str, function(value){
    console.log(value)
})

forEach是Array原型对象上的方法,可以遍历数组中的每个元素,但对于字符串并没有直接提供forEach方法。因此,可以借助Array.prototype.call()方法来将字符串强制转换为数组,并调用数组的forEach()方法执行遍历操作。

需要注意的是,在使用forEach遍历字符串时,需要将字符串强制转换成字符数组,这会产生额外的开销。另外,forEach方法是一个高阶函数,它接收一个回调函数作为参数,因此需要传入一个匿名函数来实现遍历字符串的操作。

五、map遍历字符串

let str = 'hello world';
Array.prototype.map.call(str, function(value){
    console.log(value)
})

与forEach类似,map也是Array原型对象上的方法,用来遍历数组并对每个元素执行操作,并将结果存放在一个新数组中。对于字符串并没有提供map方法,因此需要借助Array.prototype.call()方法将字符串转换到数组上进行操作。

需要注意的是,在使用map对字符串进行遍历时,需要将返回值存放在一个新数组中,否则遍历结果会被覆盖。另外,由于map方法返回的是一个新数组,因此在遍历进行完毕后,需要手动输出结果。

Js字符串遍历详解

2023-05-22
js高级程序设计笔记14(js高级程序设计笔记14页)

本文目录一览: 1、JavaScript高级程序设计 该怎么看 2、JavaScript学习笔记之数组基本操作示例 3、JS中有关sort以及return的问题 JavaScript高级程序设计 该怎

2023-12-08
javascript简要笔记,JavaScript读书笔记

2022-11-17
htmljs编程笔记(html代码笔记)

本文目录一览: 1、html代码和JS代码有什么区别 2、如何在html中调用js函数 3、JavaScript学习笔记之数组基本操作示例 4、HTML5初学者笔记 5、《web前端笔记7》js字符—

2023-12-08
JS字符串遍历详解

2023-05-23
python基础学习整理笔记,Python课堂笔记

2022-11-21
js遍历字符串完全指南

2023-05-22
javascript一句话笔记,javascript基本语句

2022-11-16
多方面深入探究JS字典遍历

2023-05-21
Python字符串遍历技巧:如何以

2023-05-10
python学习之笔记(python的笔记)

2022-11-10
python方法笔记,python基础教程笔记

2022-11-20
java笔记,尚硅谷java笔记

2022-12-01
重学java笔记,java笔记总结

2022-11-23
遍历字符串的多个方面详解

2023-05-20
达内web前端js笔记(达内jsd)

本文目录一览: 1、web前端里的js技术 2、《web前端笔记7》js字符—获取、查找、遍历、提取、替换方法总结 3、达内web前端开发讲的什么内容 4、2020年自学Web前端要掌握的知识点有哪些

2023-12-08
前端js常用字符串处理实例(前端字符串常用方法)

本文目录一览: 1、《web前端笔记7》js字符—获取、查找、遍历、提取、替换方法总结 2、JS字符串截取常用方法 3、js字符串拆分? 4、js中字符串的常见方法 《web前端笔记7》js字符—获取

2023-12-08
java基础知识学习笔记一,Java基础笔记

2022-11-21
java方法整理笔记(java总结)

2022-11-08
Java字符串遍历的多种方式

有三种方法可以在Java中遍历字符串:使用for循环、使用字符数组和使用Java8的新功能。一、使用for循环遍历字符串这是字符串遍历最基本的方法。通过获取字符串的长度,然后使用for循环进行遍历。这

2023-12-08