jQuery inArray()不工作?它找不到我确信在数组中的字符串

jQuery inArray() not working? It's not finding strings that I'm sure are in the array

本文关键字:我确信 数组 字符串 找不到 inArray 工作 jQuery      更新时间:2023-09-26

我有一个像这样的数组对象:

var wordList = new Array();
$.get('words.txt', function(data){
    wordList = data.split(''n');
});

当我这样做时:

return jQuery.inArray(word, wordList)!==-1;

使用我//知道//在数组中的单词,它仍然返回false。它可能是数组太大(它包含173,139个字符串)-这是它吗?在这种情况下,我应该放弃使用数组,还是有其他方法来搜索数组?

我检查了单词的类型和数组中的元素-根据JavaScript的typeof,它们都是字符串。

什么是奇怪的是,我已经使用inArray与相同的单词和不同的数组,它工作得很好-不同的是数组生成的方式(一个是通过相同的输入我得到word,一个是通过分割行在一个。txt文件)。

另外,当我尝试通过索引显式调用元素时,它会显示出来,因此我确定数组正在加载。我也用了高指数;调用wordList[173138]不会使响应时间变慢。

为什么inArray()不在这里工作?

我最初把它放在评论中,但被告知要把它作为一个答案-这应该更容易找到。对于像这样在数组循环中遇到麻烦的人,检查一下你分割数组的方式,如果它是由换行符分割的——我的数组造成了一些麻烦,因为我在应该使用data.split(''r'n')的地方使用了data.split(''n')。修复后,一切都很好。