##お題
与えられる二つの引数(アルファベット文字列)を以下の条件を満たしつつ一つに結合する。
・アルファベットを順番に並べかえる
・重なった文字は省略する
function longest(s1, s2) {
//write your code.
}
longest("xyaabbbccccdefww", "xxxxyyyyabklmopq") // "abcdefklmopqwxy"
##出力結果 例
longest("aretheyhere", "yestheyarehere")// "aehrsty"
longest("loopingisfunbutdangerous", "lessdangerousthancoding")// "abcdefghilnoprstu"
longest("inmanylanguages", "theresapairoffunctions")// "acefghilmnoprstuy"
##つかったもの
split()
sort()
filter()
join()
##考え方
・引数を合わせてから文字ごとに分割する。
・sort()で並べ替えて、filterで重複したものを省く。
(filterの条件を工夫する)
・join()でfilter後の文字を一緒にして返しておわり。
##コード
function longest(s1, s2) {
s3 = s1 + s2;
s4 = s3.split("");
s4 = s4.sort().filter(function(element, index, array){
return element !== array[index - 1];
});
return s4.join("");
}
ES6
function longest(s1, s2) {
return Array.from(new Set(s1 + s2)).sort().join('');
}
const longest = (s1, s2) => [...new Set(s1+s2)].sort().join('');
###他にもコードが浮かんだ方、コメントお待ちしております