【发布时间】:2020-09-25 12:23:15
【问题描述】:
我正在尝试创建一个函数来查找字符串中所有缺失的字符并返回所有缺失的字母(字符串将按字母顺序排列)。
例如 findMissing('abcde') 应该返回 'fghijklmnopqrstuvwxyz'
这是我的代码,它仅返回第一个丢失的字母:
function findMissing(str) {
for (var i = 0; i < str.length; i++) {
var code = str.charCodeAt(i);
if (code !== str.charCodeAt(0) + i) {
return String.fromCharCode(code - 1);
}
}
return undefined;
}
findMissing("abce");
//returns 'd'
【问题讨论】:
-
for循环中的return语句导致循环退出
-
我建议使用列表
missing,最初为空,并写missing.push(String.fromCharCode(code -1));而不是return String.fromCharCode(code - 1); -
按照你的定义,为什么场景
findMissing('abcde')会返回efghijklmnopqrstuvwxyz(包括e)? -
@esqew 对不起,我打错了,现在已经修复了。
标签: javascript string algorithm