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.
You 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;
}
来源:https://stackoverflow.com/questions/35880950/array-join-function-not-working