JavaScript access string chars as array
Solution 1:
Accessing characters as numeric properties of a string is non-standard prior to ECMAScript 5 and doesn't work in all browsers (for example, it doesn't work in IE 6 or 7). You should use myString.charAt(0)
instead when your code has to work in non-ECMAScript 5 environments. Alternatively, if you're going to be accessing a lot of characters in the string then you can turn a string into an array of characters using its split()
method:
var myString = "Hello!";
var strChars = myString.split("");
alert(strChars[0]);
Solution 2:
Using charAt
is probably the best idea since it conveys the intent of your code most accurately. Calling substr
for a single character is definitely an overkill.
alert(myString.charAt(0));