loop over array using charAt to get first letter of each value in javascript

jstone picture jstone · Jan 1, 2014 · Viewed 26.2k times · Source

I am new to JS and am trying to understand chartAt. I created a problem where I want to go through an array and pull the first character of each value from my array using charAt. I'm a bit stuck with my code.

var myArray = ['adam', 'bianca', 'cat', 'dennis'];
var myFunc = function (letter) {
    for (var i = 0; i < letter.length; i += 1) {
        letter.charAt(0);
        console.log(letter.charAt(0));
    }
}

Answer

Michael Berkowski picture Michael Berkowski · Jan 1, 2014

In your iteration loop, letter is the array passed to the function myFunc(). You need to access its elements, which you're iterating via i. Use letter[i].charAt(0) instead of letter.charAt(0)

var myArray = ['adam', 'bianca', 'cat', 'dennis'];
var myFunc = function (letter) {
    for (var i = 0; i < letter.length; i += 1) {
        // Use the index i here
        console.log(letter[i].charAt(0));
    }
}

// Call your function, passing in the array you defined:
myFunc(myArray);
// a
// b
// c
// d

So your understanding of String.prototype.charAt() is correct, but the loop iteration was faulty.