##お題
binaryデータをアルファベットへ変換する。
function binaryConverter(str) {
//write your code.
}
binaryConverter("1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100 100001");
//Hello World!
##使ったもの
split()
push()
fromCharCode()
parseInt()
join()
##考え方
・split()で引数のバイナリをスペース部分で切り分ける。
・変換後の文字列を入れる配列を用意する。
・for文で先頭からparseInt(第二引数に2を設定)で10進数に変換する。その数値をfromCharCode()でアルファベットに変換する。
・用意した配列にpushした文字をjoin()して返しておわり。
##コード
function binaryConverter(str) {
biString = str.split(' ');
uniString = [];
for(i=0;i < biString.length;i++){
uniString.push(String.fromCharCode(parseInt(biString[i], 2)));
}
return uniString.join('');
}
binaryConverter("1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100 100001");
##短くしたコード
function binaryConverter(str) {
return String.fromCharCode(...str.split(" ").map(function(char){ return parseInt(char, 2); }));
}
###他にもコードが浮かんだ方、コメントお待ちしております。