6

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.

2 Answers 2

16

You don't save the result returned of .join()

transformed = transformed.join('');

or

return transformed.join('');
Sign up to request clarification or add additional context in comments.

Comments

0

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

1 Comment

Instead of saying "Replace this it will work" you should explain what you changed and why.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.