面试题答案
一键面试- 字符串当作数组处理提升性能的原因:
- 直接访问字符:在JavaScript中,字符串是不可变的,但当当作数组处理时,可以直接通过索引访问单个字符,这在需要频繁读取字符串中特定位置字符的场景下,减少了不必要的字符串操作函数调用开销,从而提升性能。例如在需要遍历字符串每个字符进行判断的场景。
- 提升性能的方法示例:
- 遍历字符串并进行字符操作:
const str = 'hello';
for (let i = 0; i < str.length; i++) {
console.log(str[i]);// 这里直接像数组一样通过索引访问字符,比使用charAt方法性能略高
}
- 快速获取子字符串:
const longStr = 'this is a very long string';
const subStr = '';
for (let i = 5; i < 10; i++) {
subStr += longStr[i];// 类似数组操作获取部分字符串,相比使用substring等方法,在简单场景下,性能可能有所提升
}
console.log(subStr);