【问题标题】:From binary to charcode to text javascript从二进制到字符码到文本 javascript
【发布时间】:2017-02-19 18:55:18
【问题描述】:
我在 freecodecamp 的篝火“二进制代理”中,我几乎明白了。它返回正确的答案,但首先是“未定义”,我不明白为什么..
function binaryAgent(str) {
var arr = str.split(" ");
var charcoded = [];
var finalStr;
for (var i=0; i<arr.length; i++) {
finalStr += String.fromCharCode((parseInt(arr[i], 2)));
}
return finalStr;
}
binaryAgent("01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111");
【问题讨论】:
标签:
javascript
binary
bonfire
fromcharcode
【解决方案1】:
您可以初始化变量finalStr 以收集具有空字符串'' 的字符,否则该变量具有值undefined 并将字符连接到它。
var finalStr = '';
function binaryAgent(str) {
var arr = str.split(" "),
charcoded = [],
finalStr = '',
i;
for (i = 0; i < arr.length; i++) {
finalStr += String.fromCharCode((parseInt(arr[i], 2)));
}
return finalStr;
}
console.log(binaryAgent("01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111"));
【解决方案2】:
最简单的方法
function binaryAgent(str) {
var newStr = str.split(' ').map(item => {
return String.fromCharCode(parseInt(item, 2));
});
return newStr.join('');
}
binaryAgent("01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111");
【解决方案3】:
这就是我做的:)
function binaryAgent(str) {
str = str.split(" ");
var final = '';
for (var i = 0; i < str.length; i++) {
final += String.fromCharCode((parseInt(str[i], 2)));
}
return final;
}
binaryAgent("01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111");
【解决方案4】:
这就是我完成“二进制代理”挑战的方式
function binaryAgent(str) {
return str.split(" ").map((x) => x = String.fromCharCode(parseInt(x, 2))).join("");
}