题目:
传入二进制字符串,翻译成英语句子并返回。
二进制字符串是以空格分隔的。
代码:
1 function binaryAgent(str) { 2 var arr = str.split(' '); 3 for (var i = 0; i < arr.length; i++) { 4 arr.splice(i,1,String.fromCharCode(BtoD(arr[i]))); 5 } 6 return arr.join(''); 7 } 8 //函数:二进制转换为十进制 9 function BtoD(val) { 10 var arr = val.split(''); 11 arr = arr.reverse(); 12 for (var i = 0; i < arr.length; i++) { 13 //每位上的数字乘以2的i次方 14 var n = Math.pow(2,i); 15 arr.splice(i,1,arr[i]*n); 16 } 17 return arr.reduce(function(acc,val){return acc+val;}); 18 }