前面聊了一下数组身上的方法前端面试篇之JS数组(一) - 掘金 (juejin.cn)
这篇就来总结一下字符串身上的方法。
js字符串身上有哪些方法
也是和总结数组的方法一样分类来列出来,这样更易于记忆和让我们讲给面试官。
增加元素
concat()
用于连接两个或更多的字符串,并返回一个新的字符串。
let str1 = "Hello";
let str2 = "World";
let result = str1.concat(" ", str2);
console.log(result); // 输出 "Hello World"
repeat()
用于重复字符串多次
let str = "ab";
let repeated = str.repeat(3);
console.log(repeated); // 输出 "ababab"
删除元素
slice()
用于提取字符串的一部分,而不改变原始字符串。
let str = "Hello, world!";
let sliceResult = str.slice(7, 12); // 不包括结束位置
console.log(sliceResult); // 输出 "world"
substring()
substring() 类似于 slice(),但不接受负索引。
let str = "Hello, world!";
let substringResult = str.substring(7, 12);
console.log(substringResult); // 输出 "world"
修改元素
trim()
去除字符串两端的空白字符。
let str = " Hello, world! ";
let trimResult = str.trim();
console.log(trimResult); // 输出 "Hello, world!"
trimStart()
去除字符串开头的空白字符
let str = " Hello, world!";
let trimStartResult = str.trimStart();
console.log(trimStartResult); // 输出 "Hello, world!"
trimEnd()
去除字符串结尾的空白字符
let str = "Hello, world! ";
let trimEndResult = str.trimEnd();
console.log(trimEndResult); // 输出 "Hello, world!"
padStart()
在字符串的开头添加指定长度的填充字符。
let str = "5";
let padStartResult = str.padStart(4, '0');
console.log(padStartResult); // 输出 "0005"
padEnd()
在字符串的结尾添加指定长度的填充字符。
let str = "5";
let padEndResult = str.padEnd(4, '0');
console.log(padEndResult); // 输出 "5000"
这两种方法呢,我觉得可以在不使用BigInt类型去处理最大安全整数值的计算,将需要计算的number转换为字符串通过padStart方法将两个数添加0使两个数有相同的位数,然后按照个位数与个位数相加,十位与十位相加依次类推。这也算是一种最直接的不使用BigInt类型处理最大安全整数值的计算。不过这种方法缺点就是只能处理相加和相减的运算。
replace()
替换字符串中匹配到的部分。
let str = "Hello, world!";
let replaceResult = str.replace("world", "JavaScript");
console.log(replaceResult); // 输出 "Hello, JavaScript!"
replaceAll
替换字符串中所有匹配的子字符串。
let str = "Hello, world! Hello, universe!";
let replaceAllResult = str.replaceAll("Hello", "Hi");
console.log(replaceAllResult); // 输出 "Hi, world! Hi, universe!"
toUpperCase()
将字符串转换为大写
let str = "hello";
let toUpperCaseResult = str.toUpperCase();
console.log(toUpperCaseResult); // 输出 "HELLO"
toLowerCase()
将字符串转换为小写
let str = "WORLD";
let toLowerCaseResult = str.toLowerCase();
console.log(toLowerCaseResult); // 输出 "world"
查询元素
indexOf()
返回指定字符或子串第一次出现的位置,从前查找。
let str = "Hello, world!";
let indexResult = str.indexOf("world");
console.log(indexResult); // 输出 7
lastIndexOf()
返回指定字符或子串第一次出现的位置,从后查找。
let str = "ababab";
let lastIndexOfResult = str.lastIndexOf("b");
console.log(lastIndexOfResult); // 输出 5
includes()
检查字符串是否包含特定子串。
let str = "Hello, world!";
let includesResult = str.includes("world");
console.log(includesResult); // 输出 true
charAt()
返回字符串中指定位置的字符。
let str = "Hello, world!";
let charAtResult = str.charAt(6);
console.log(charAtResult); // 输出 "w"
startsWith()
检查字符串是否以指定子串开始
let str = "Hello, world!";
let startsWithResult = str.startsWith("Hello");
console.log(startsWithResult); // 输出 true
endsWith()
检查字符串是否以指定子串结束
let str = "Hello, world!";
let endsWithResult = str.endsWith("!");
console.log(endsWithResult); // 输出 true
match()
用于查找一个或多个正则表达式的匹配项。
let str = "The rain in Spain";
let matchResult = str.match(/ain/g);
console.log(matchResult); // 输出 ["ain", "ain"]
search()
用于搜索与正则表达式匹配的第一个位置。
let str = "The rain in Spain";
let searchResult = str.search(/ain/);
console.log(searchResult); // 输出 5
转换元素
parseInt()
将字符串转换为整数。
let str = "123";
let parseIntResult = parseInt(str);
console.log(parseIntResult); // 输出 123
split()
根据指定的分隔符将字符串分割成数组。
let str = "apple,banana,orange";
let splitResult = str.split(",");
console.log(splitResult); // 输出 ["apple", "banana", "orange"]
parseFloat()
将字符串转换为浮点数。
let floatNum = parseFloat("123.45");
console.log(floatNum); // 输出 123.45
Number()
将字符串转换为数字,无论是整数还是浮点数。
let num = Number("123");
console.log(num); // 输出 123
讲完这些就差不多了,剩下的就是一下编码和解码的操作,目前我用的太少了,就没看了