for some reason Im not able to see why my array join method wont work. here's the quick code for review:
function rot13(str) { // LBH QVQ VG!
var strAry = str.split('');
var transformed = strAry.map(function(val){
if(val === " ") return " ";
else{
var code = val.charCodeAt(0);
return String.fromCharCode(code-13);
}
});
transformed.join('');
console.log(transformed);
return transformed;
}
// Change the inputs below to test
rot13("SERR PBQR PNZC");
The idea is to pass in the string and it will be converted to a readable code string, but the join is not working. Also, a few of the digits are not converting properly not sure why, bonus points for that one.
for some reason Im not able to see why my array join method wont work. here's the quick code for review:
function rot13(str) { // LBH QVQ VG!
var strAry = str.split('');
var transformed = strAry.map(function(val){
if(val === " ") return " ";
else{
var code = val.charCodeAt(0);
return String.fromCharCode(code-13);
}
});
transformed.join('');
console.log(transformed);
return transformed;
}
// Change the inputs below to test
rot13("SERR PBQR PNZC");
The idea is to pass in the string and it will be converted to a readable code string, but the join is not working. Also, a few of the digits are not converting properly not sure why, bonus points for that one.
Share Improve this question asked Mar 9, 2016 at 0:50 Jarg7Jarg7 1,6282 gold badges14 silver badges24 bronze badges2 Answers
Reset to default 16You don't save the result returned of .join()
transformed = transformed.join('');
or
return transformed.join('');
Replace this it will work
function rot13(str) {
// LBH QVQ VG!
var strAry = str.split('');
var transformed = strAry.map(function(val){
if(val === " ") return " ";
else{
var code = val.charCodeAt(0);
return String.fromCharCode(code-13);
}
});
transformed = transformed.join('');
console.log(transformed);
return transformed;
}
jsfiddle link