Javascript CharAt在for循环中不起作用

Javascript CharAt在for循环中不起作用,javascript,Javascript,在for循环中将数组[]定义为i时,字符“无法读取属性” var array =["5seconds","1seconds","234seconds","57"]; var time = "" for(var i=0;i<=4;i++) { time= array[i].charAt(0); } document.write(time); var数组=[“5秒”、“1秒

在for循环中将数组[]定义为i时,字符“无法读取属性”

var array =["5seconds","1seconds","234seconds","57"];
        var time = ""

        for(var i=0;i<=4;i++)
        {
            time= array[i].charAt(0);
        }  

            document.write(time);
var数组=[“5秒”、“1秒”、“234秒”、“57秒];
var time=“”

for(var i=0;i您在for(var i=0;i中将document.write移动到for循环中时,将允许第一个索引(0)记录每个字符串。下面是一个代码片段:
var数组=[“5秒”、“1秒”、“234秒”、“57秒];
var-time=“”;
for(var i=0;i
您的循环是从0到4,因此在某个时刻您试图获取数组中不存在的位置4。这导致了错误。 您应该在for循环中执行以下更改:

for (var i = 0; i < 4; i++)
然后,不使用第一个字符,而是在所有空格中拆分字符串,只得到第一个位置(0),这将是您想要的数字。如下所示:

time = array.split(" ")[0].

正如其他人指出的,您的循环走得太远了,最后一个索引是length-1,因此如果有4个元素,最后一个索引是3。这就是为什么最好执行>=array.length-1或>array.length

time = array.split(" ")[0].