字符串(string)方法的扩展
1.includes() 返回的是布尔值 判断是否存在该字符
let str = "hello";
console.log(str.includes("h"));//true
console.log(str.includes("y"));//true
2 .startsWith() 返回布尔值判断字符是否出现在原字符串的头部
let str1 = "hello";
console.log(str1.startsWith("h")); //true
console.log(str1.startsWith("y")); //false
3 .endsWith() 返回布尔值 判断字符是否出现在原字符串的末尾
let str2 = "hello";
console.log(str2.endsWith("h")); //false
console.log(str2.endsWith("y")); //false
console.log(str2.endsWith("o")); //true
4.**repeat ()**返回的是一个新的字符串,表示将原字符串重复n次
let s = '你好';
console.log(s.repeat(2)); //你好 你好
如果是小数会向下取整:
let s ="你好"
console.log(s.repeat(2.1)); // 你好 你好
console.log(s.repeat(2.9)); // 你好 你好
console.log(s.repeat(0.1)); // ''
// Infinity和负数会报错-----无效值
// console.log(str3.repeat(Infinity)); // 报错
// console.log(str3.repeat(-1));//报错
0到-1之间的小数和NaN等同于0 返回的都是空字符串:
console.log(str3.repeat(-0)); //''
console.log(str3.repeat(-0.3)); //''
console.log(str3.repeat(NaN)); //''
非字符串先转换为数值类型:
console.log(str3.repeat("12")); //12
console.log(str3.repeat("A12")); //''
- padStart(),padEnd(),如果某个字符串不够指定长度,会在头部或尾部补全。
let str= '你好'
console.log(str.padStart(3,'h')); // h你好
console.log(str.padStart(5,'h')); // hhh你好
原字符串长度>=最大长度,字符串补全不生效,并且返回原字符串:
let str="你好"
console.log(str.padStart(2,'h')); //你好
console.log(str.padStart(1,'h')); //你好
padStart()的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串:
console.log('12'.padStart(10, 'YYYY-MM-DD'));
console.log('05-18'.padStart(10, '2022-MM-DD'));
console.log('2021-05-18'.padStart(10, '2022-MM-DD'));
6.trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。
let s1 = ' abc ';
console.log(s1.trim()); // "abc" trim是ES5的方法,用于清除两边的空格
console.log(s1.trimStart()); // "abc "
console.log(s1.trimEnd());// " abc"
console.log(s1);// " abc " 原始值不会修改