面试题答案
一键面试// 原始方法
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);
优化思路
- 减少中间变量:原始方法中使用了
words
数组作为中间变量存储分割后的单词,优化后直接在split
返回的数组上调用map
方法,减少了内存占用。 - 使用
map
方法:map
方法更加简洁,代码可读性更好,同时它在内部进行了优化,在遍历数组时效率较高。而原始的for
循环虽然基础且灵活,但相比map
在这种场景下代码量更多。