Javascript 查找数组中最长的字

Javascript 查找数组中最长的字,javascript,arrays,string,Javascript,Arrays,String,我目前正在研究coderbytes中的一个问题。我应该创建一个函数,该函数接收字符串并返回字符串中最长的单词(字符串中没有标点符号,如果有两个大小相同的单词,该函数应该返回第一个)。我能够找到一个类似的问题,但由于某种原因,我的代码无法工作 var longestword = function(string){ var longest = []; array = string.split(" "); for(var i = 0; i <= array.length;

我目前正在研究coderbytes中的一个问题。我应该创建一个函数,该函数接收字符串并返回字符串中最长的单词(字符串中没有标点符号,如果有两个大小相同的单词,该函数应该返回第一个)。我能够找到一个类似的问题,但由于某种原因,我的代码无法工作

var longestword = function(string){
    var longest = [];
    array = string.split(" ");
    for(var i = 0; i <= array.length; i++){
        if(array[i].length > longest.length){
        longest = array[i];    
        }
    }
console.log(longest)
}    
longestword("This isnt workin for some reason")
var longestword=函数(字符串){
var最长=[];
array=string.split(“”);
for(变量i=0;i最长.length){
最长=数组[i];
}
}
console.log(最长)
}    
longestword(“出于某种原因,这不起作用”)

我得到的错误是
TypeError:array[I]未定义

您的条件是
I您的条件是
I您无法访问array[array.length]。数组是基于0的。更改您无法访问数组[array.length]。数组是基于0的。如果更改它的javascript,则不需要声明变量。它是在第三行分配给它时定义的。您所说的错误可能是因为您使用的是“It's javascript,不需要声明变量。它是在第三行分配给它时定义的。您所说的错误可能是因为您使用的是“you can's access array[array.length]”,可以(这是JavaScript!),但会得到
未定义的
;-)“您不能访问数组[array.length]”当然可以(这是JavaScript!),但您会得到
未定义的
;-)