1

My challenge is to create a function that takes in a string and returns a new string with each character advanced 1 space of the alphabet. Ex: "hello" returns "ifmmp."

I haven't yet wrapped my code in a function. This will get me the first new character but I can't figure out how to move through the rest of the new characters.

var str = "hello";

var numStr = [];

for (var i = 0; i < str.length; i++) {

    numStr.push((str.charCodeAt(i) + 1));

}

var newStr = String.fromCharCode(numStr[0]);

//returns "i"
1
  • You may use + operator to add strings so 'a' + 'b' gives you 'ab'. Use a for loop to build newStr like var newStr = ''; for (var i = 0; ....) { newStr += String.fromCharCode(numStr[i]); }. newStr += x is like newStr = newStr + x Commented Mar 8, 2016 at 19:01

2 Answers 2

2

You'll probably want to use fromCharCode(). Creating a function could look something like this:

JavaScript

var str = "hello";

function incrementStringLetters(s) {
    var newStr = "";
    for (var i = 0; i < s.length; i++) {
        newStr += String.fromCharCode(s.charCodeAt(i)+1);
    }
    return newStr;
}


console.log(incrementStringLetters(str))

Output

ifmmp

See it working here: https://jsfiddle.net/igor_9000/f0vy3h9v/

Hope that helps!

Sign up to request clarification or add additional context in comments.

1 Comment

Fantastic, thank you! I couldn't figure out how to use the fromCharCode function like this.
0

Another proposal with:

var str = "hello",
    newStr = str.split('').map(function (a) {
        return String.fromCharCode(a.charCodeAt(0) + 1);
    }).join('');

document.write(newStr);

Comments

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.