ES6新增的字符串API

栏目: JavaScript · 发布时间: 4年前

includes() 返回布尔值,表示是否找到了参数字符串

  • 支持第二个参数,表示开始搜索的位置
  • 使用第二个参数n时,表示从第n个位置开始直到字符串结束
let str = "Hello world!";
console.log(str.includes("o")); // true
console.log(str.includes("w")); // true
console.log(str.includes("w", 7)); // false
复制代码

startsWith() 返回布尔值,表示参数字符串是否在原字符串的头部

  • 支持第二个参数,表示开始搜索的位置
  • 使用第二个参数n时,表示从第n个位置开始直到字符串结束
let str = "Hello world!";
console.log(str.startsWith("Hello")); // true
console.log(str.startsWith("world")); // false
console.log(str.startsWith("world", 6)); // true
复制代码

endsWith() 返回布尔值,表示参数字符串是否在原字符串的尾部。

  • 支持第二个参数,表示开始搜索的位置
  • 使用第二个参数n时,它针对前n个字符
let str = "Hello world!";
console.log(str.endsWith("Hello")); // false
console.log(str.endsWith("!")); // true
console.log(str.endsWith(" ", 6)); // true
复制代码

repeat() 方法返回一个新字符串,表示将原字符串重复n次

  • 参数是小数,会被向下取整
  • 参数如果是 Infinity 或者是 负数,会报错
  • 0到-1之间的数等同于0,NaN也等同于 0
  • 参数是字符串,则会先转换成数字
console.log("x".repeat(3)); // xxx
console.log("hello".repeat(2)); // hellohello
console.log("na".repeat(0)); // ''
// 参数是小数,会被向下取整
console.log("na".repeat(2.9)); // nana
// 参数如果是 Infinity 或者是 负数,会报错
// console.log("na".repeat(Infinity)); // 报错
// console.log("na".repeat(-1)); // 报错
// 0到-1之间的数,NaN,等同于 0
console.log("na".repeat(-0.9)); // ''
console.log("na".repeat(NaN)); // ''
// 参数是字符串,则会先转换成数字
console.log("na".repeat("na")); // ''
console.log("na".repeat("3")); // nanana
复制代码

padStart() 字符串补全长度的功能,用于头部补全

  • 前提:如果某个字符串不够指定长度,会在头部补全
  • 如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
  • 如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串
  • 如果省略第二个参数,默认使用空格补全长度
console.log("x".padStart(5, "ab")); // ababx
console.log("x".padStart(4, "ab")); // abax
// 如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
console.log("xxx".padStart(2, "ab")); // xxx
// 如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串。
console.log("abc".padStart(10, "0123456789")); // 0123456abc
// 如果省略第二个参数,默认使用空格补全长度。
console.log("x".padStart(4)); // '   x'

// 常见用途:
// 为数值补全指定位数
console.log("1".padStart(10, "0")); // 0000000001
console.log("12".padStart(10, "0")); // 0000000012
console.log("123456".padStart(10, "0")); // 0000123456
// 提示字符串格式
console.log("12".padStart(10, "YYYY-MM-DD")); // YYYY-MM-12
console.log("09-12".padStart(10, "YYYY-MM-DD")); // YYYY-09-12
复制代码

padEnd() 字符串补全长度的功能,用于尾部补全

  • 前提:如果某个字符串不够指定长度,会在尾部补全
  • 如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
  • 如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串
  • 如果省略第二个参数,默认使用空格补全长度
console.log("x".padEnd(5, "ab")); // xabab
console.log("x".padEnd(4, "ab")); // xaba
// 如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
console.log("xxx".padEnd(2, "ab")); // xxx
// 如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串。
console.log("abc".padEnd(10, "0123456789")); // abc0123456
// 如果省略第二个参数,默认使用空格补全长度。
console.log("x".padEnd(4)); // 'x   '
复制代码

trimStart() 消除字符串头部的空格,返回的是新字符串,不会修改原始字符串

  • trimLeft()trimStart() 的别名
let str = ' abc ';
console.log(str.trimStart());  // 'abc '
console.log(str.trimLeft());   // 'abc '
复制代码

trimEnd() 消除字符串头部的空格,返回的是新字符串,不会修改原始字符串

  • trimRight()trimEnd() 的别名
let str = ' abc ';
console.log(str.trimEnd());    // ' abc'
console.log(str.trimRight());  // ' abc'
复制代码

matchAll() 返回一个正则表达式在当前字符串的所有匹配,


以上所述就是小编给大家介绍的《ES6新增的字符串API》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法图解

算法图解

[美] Aditya Bhargava / 袁国忠 / 人民邮电出版社 / 2017-3 / 49.00元

本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。一起来看看 《算法图解》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码