Jarg7
Jarg7

Reputation: 1628

array join function not working

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.

Upvotes: 6

Views: 13733

Answers (2)

Santosh Ram Kunjir
Santosh Ram Kunjir

Reputation: 1082

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

Upvotes: 0

kidwon
kidwon

Reputation: 4524

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

transformed = transformed.join('');

or

return transformed.join('');

Upvotes: 16

Related Questions