MST

星途 面试题库

面试题:JavaScript 中如何将字符串高效地当作数组处理并优化相关代码

已知有一个字符串 'hello world',请用 JavaScript 实现将其当作数组来操作,提取出其中每个单词的首字母,并优化这段代码以提高性能。说明优化思路。
17.1万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
// 原始方法
const str = 'hello world';
const words = str.split(' ');
const initials = [];
for (let i = 0; i < words.length; i++) {
    initials.push(words[i][0]);
}
console.log(initials);

// 优化后方法
const optimizedStr = 'hello world';
const optimizedInitials = optimizedStr.split(' ').map(word => word[0]);
console.log(optimizedInitials);

优化思路

  1. 减少中间变量:原始方法中使用了words数组作为中间变量存储分割后的单词,优化后直接在split返回的数组上调用map方法,减少了内存占用。
  2. 使用map方法map方法更加简洁,代码可读性更好,同时它在内部进行了优化,在遍历数组时效率较高。而原始的for循环虽然基础且灵活,但相比map在这种场景下代码量更多。