JavaScript访问字符串字符作为数组

时间:2010-10-29 11:33:04

标签: javascript

可以这样做:

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

或者应该使用charAt(0)还是substr(0,1)? 通过“它没关系”我的意思是它适用于大多数浏览器,是否有最佳实践建议,否则等等。

谢谢。

4 个答案:

答案 0 :(得分:46)

将字符作为字符串的数字属性进行访问是non-standard prior to ECMAScript 5 and doesn't work in all browsers(例如,它在IE 6或7中不起作用)。当您的代码必须在非ECMAScript 5环境中工作时,您应该使用myString.charAt(0)。或者,如果您要访问字符串中的大量字符,则可以使用其split()方法将字符串转换为字符数组:

var myString = "Hello!";
var strChars = myString.split("");
alert(strChars[0]);

答案 1 :(得分:41)

使用charAt可能是最好的主意,因为它最准确地传达了代码的意图。为单个字符调用substr绝对是一种矫枉过正的行为。

alert(myString.charAt(0));

答案 2 :(得分:7)

2018年的答案:是的,可以访问

语法简洁明了。 IE6和IE7早已不复存在。我认为没有理由不使用它。

答案 3 :(得分:1)

在ES6中,我们可以使用解构,因为字符串可以被视为数组:

const [...rest] = 'Hello!';

console.log(rest)
> Array ["H", "e", "l", "l", "o", "!"]

console.log(rest[0])
> "H"