JavaScript access string chars as array

前端 未结 4 491
日久生厌
日久生厌 2020-11-30 02:34

Is it ok to do this:

var myString=\"Hello!\";
alert(myString[0]); // shows \"H\" in an alert window

Or should it be done with either charAt

相关标签:
4条回答
  • 2020-11-30 02:51

    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));
    
    0 讨论(0)
  • 2020-11-30 02:51

    2018 answer: Yes it is OK to access strings like arrays.

    The syntax is clear and concise. IE6 and IE7 are long gone. I see no reason not to use it.

    0 讨论(0)
  • 2020-11-30 03:01

    In ES6 we can use destructuring since a string can be treated as an array:

    const [...rest] = 'Hello!';
    
    console.log(rest)
    > Array ["H", "e", "l", "l", "o", "!"]
    
    console.log(rest[0])
    > "H"
    
    0 讨论(0)
  • 2020-11-30 03:04

    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]);
    
    0 讨论(0)
提交回复
热议问题