【问题标题】: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("");
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-04-19
            • 2020-05-02
            • 1970-01-01
            • 2017-03-26
            • 2011-02-28
            • 2016-08-30
            相关资源
            最近更新 更多