I am a beginner in javascript and I try to write a simple decoding function. Here it is:
function decode(text) {
let letter, count, i, result, letters;
result = "";
for (i = 0; i < text.length; i++) {
        count = text[i];
        if (typeof Number(count) === "number") {               
            count = Number(count);
            console.log(count);  // this line only for testing
            letter = text[i + 1];
            letters = letter.repeat(count);
            result += letters;
            console.log(result);  // this line only for testing
        } else {
            result += text[i];
        }
    }
    return result;
}
console.log(decode("v2rt3b2x"));
I need help in understanding why the if clause is not being skipped when typeof Number(count) === "number" is false. It returns this:
NaN
VM708:12 
VM708:8 2
VM708:12 rr
VM708:8 NaN
VM708:12 rr
VM708:8 NaN
VM708:12 rr
VM708:8 3
VM708:12 rrbbb
VM708:8 NaN
VM708:12 rrbbb
VM708:8 2
VM708:12 rrbbbxx
VM708:8 NaN
As I said, I am a beginner, so please be mercifull...
I got the right answer, but I will try to figure out later why count - 1 works, for now I thank everybody for their help.
function decode(text) {
let letter, count, i, result, letters;
result = "";
for (i = 0; i < text.length; i++) {
    count = parseInt(text[i]);
    if (!isNaN(count)) {               
        //console.log(count);  // this line only for testing
        letter = text[i + 1];
        letters = letter.repeat(count-1);
        //console.log(letters);
        result += letters;
        //console.log(result);  // this line only for testing
    } else {
        result += text[i];
    }
}
return result;
}
console.log(decode("v2rt3b2xz3f2d 2s2 j"));
vrrtbbbxxzfffdd ss  j
 
     
     
    