JavaScript -- string类型
2022/1/17 14:05:28
本文主要是介绍JavaScript -- string类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
字符串提取方法
slice() substr() substring()
作用: 返回对应字符串的一个子字符串,而且都接收一个或两个参数。
区别: 对于slice()和substiring()而言,第一个参数表示子字符串开始的位置,第二个参数表示子提取结束的位置,对于substr()而言,第二个参数表示返回的子字符串数量。
省略第二个参数都会提取到字符串末尾
let str = 'hello world' console.log(str.slice(3)) // lo world console.log(str.substring(3)) // lo world console.log(str.slice(3, 5)) // lo console.log(str.substr(3, 5)) // lo wo
当某个参数为负值时:
slice()方法会将所有负值参数都当成字符串长度加上负参数值。
console.log(str.slice(-3)) // rld console.log(str.slice(3, -4)) //lo w
这里,在给slice传入负参数值时,-3会被转换为8(11+ (-3)),实际上调用的是slice(8);当第二个参数为负值时,slice()将第二个参数转换为7,实际上调用的是slice(3,7)。
substring()方法会将所有负值数值都转换为0。
console.log(str.substring(-3)) // hello world console.log(str.substring(3, -4)) // hel
这里,substring()会将所有负值转换为0,所以第一个例子实际调用的是substring(0),即全部字符串;第二个例子实际调用的是substring(3,0),但是它等价于substring(0,3),因为这个方法会自动将较小的参数作为起点。
substr()方法将第一个负参数值当成字符串长度加上该值,将第二个负值参数转换为0。
console.log(str.substr(-3)) //rld console.log(str.substr(3, -4)) // ""(empty)
这里要注意,第二个例子的-4会自动转换为0,就意味着返回的字符串包含0个字符,因此返回的是一个空字符串。
字符串位置方法
indexOf() lastIndexOf()
作用: 这两种方法均种字符串种搜索传入的字符串,并返回位置。
区别: indexOf()方法从字符串开头开始查找字符串,而lastIndexOf()从字符串末尾开始查找字符串。
let str = 'hello world' console.log(str.indexOf('o')) // 4 console.log(str.lastIndexOf('o')) // 7
当方法接收两个参数时,第二个参数表示开始搜索的位置。
这就意味着,indexOf()会从这个参数指定位置开始向字符串末尾搜索,忽略该位置之前的字符;lastIndexOf()会从这个参数指向的位置开始想向字符串开头搜索,忽略该位置之后到字符串末尾的字符。
console.log(str.indexOf("o", 6)); // 7 console.log(str.lastIndexOf("o", 6)); // 4
这里,第一个例子从"w"字符开始向后找第一个"o"字符;而第二个例子则是从"w"开始向前找第一个"o"字符。
ES6新添方法 – 字符串包含方法
startsWith() endsWith() includes()
作用: 从字符串中搜索传入的字符串,并返回一个表示是否包含的布尔值。
区别:
startsWith() 检查从第一个字符开始看是否匹配(即前面几个字符是否是要检查包含的子字符串);
endsWith() 检查从最后一个字符开始向前看是否匹配。(即最后几个字符是否是要检查包含的子字符串。);
includes() 检查整个字符串。
let message = "foobarbaz"; console.log(message.startsWith("foo")); // true console.log(message.startsWith("bar")); //false console.log(message.endsWith("foo")); //fasle console.log(message.endsWith("baz")); //true console.log(message.includes("bar")); //true console.log(message.includes("dmsl")); //fasle
接收两个参数时:
console.log(message.startsWith("foo")); //true console.log(message.startsWith("foo", 1)); // false console.log(message.endsWith("baz")); // true console.log(message.endsWith("baz", 6)); // false console.log(message.includes("bar")); // true console.log(message.includes("bar", 4)); // false
startsWIdth() 和 includes() 方法的第二个参数表示开始搜索的位置。如果传入了第二个参数,就意味着这两个方法会从指定的位置向字符串末尾搜索。
而,endsWith() 表示第二个参数应该作为字符串末尾的位置。
trim()
作用: 用于清除字符串前、后的所有空格符。
let s1 = " 11 "; console.log(s1); // " 11 " console.log(s1.trim()); // "11"
另外,trimLeft()只清除左空格,trimRight()只清除右空格。
字符串迭代和解构
字符串的原型暴露一个@@iterator方法,表示可以迭代字符串的每个字符。
在for-of循环中可以通过迭代器按序访问每个字符:
for (const code of "abcfd") { console.log(code); }
字符串通过解构分割成字符数组
let message = "abcde"; console.log([...message]); // ['a', 'b', 'c', 'd', 'e']
split()
作用: 根据传入的分隔符将字符串拆分成数组。
第一个参数作为分隔符,第二个参数表示返回数组元素个数。
let message = "abcde"; console.log(message.split("")); // ['a', 'b', 'c', 'd', 'e'] console.log(message.split("", 3)); // ['a', 'b', 'c']
这篇关于JavaScript -- string类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南