javascript - 如何创建一个从输入 str a 和 b 创建唯一字符串的函数?
问题描述
我对javascript很陌生,我想知道是否有人可以帮助我解决这个问题?
用字符串a ="xyaabbbccccdefww"
和b="xxxxyyyyabklmopq"
. 我应该创建一个名为longest 的函数,它接受这两个输入,即function longest(a,b)
返回一个唯一且已排序的字符串。
到目前为止,我的代码是:
function longest(s1, s2) {
let val = new Set((s1 + s2));
let newStr = "";
for (let item of val){
newStr += item;
}
let newestStr = function(newStr){
return ((newStr.split('')).sort()).join('');
};
return newestStr;
}
let a = "xyaabbbccccdefww";
let b = "xxxxyyyyabklmopq";
let val1 = longest(a, b);
但这function (newStr) { return newStr.split('').sort().join(''); }
会在我尝试打印 val1 时生成。相反,它应该返回字符串abcdefklmopqwxy
。
有人可以向我解释我哪里出错了吗?有没有更有效的方法来解决这个问题,因为((newStr.split('')).sort()).join('');
NlogN 很长。
谢谢!
解决方案
你的代码是正确的。但是该longest
函数返回 afunction
而不是值。将return语句调整为:
return newestStr(newStr);
推荐阅读
- namespaces - Hyperledger Composer 系统命名空间
- python - 从图像opencv python中提取数字
- vba - 使用 VBA DateDiff 比较多个日期,输出差异,然后将输出与另一个单元格进行比较
- python - ImportError:Gcloud 中没有名为 oauth2client.client 的模块
- python - kivy 不能使用 kv 文件
- angular - 如何在导航栏Angular 5+中使用标签内容?
- git - 为什么在“git push origin”中使用“HEAD:master”而不是“master”
- audiokit - AKAudioFile.appendedBy 中未删除的临时文件
- jquery - 在 jquery name='other' 然后 jquery 但我有选择名称。如何在jQuery中获取选择选项名称
- javascript - 缩略图轮播,主滑块和缩略图之间的巨大差距