Search code examples
javascriptbinarybonfirefromcharcode

From binary to charcode to text javascript


i'm in the freecodecamp's bonfire "binary agents" and I almost got it. It returns the correct answer but with an "undefined" first and I don't see why..

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");

Solution

  • You could initialise the variable finalStr for collecting the characters with an empty string '', otherwise the variable has the value undefined and concats the characters to it.

    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"));