jQuery inArray()不起作用?它没有找到我确定在数组中的字符串

时间:2014-03-22 05:54:47

标签: javascript jquery arrays

我有一个如下所示的Array对象:

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

当我这样做时:

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

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

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

奇怪的是,我在阵列中使用了相同的单词和不同的数组,并且它运行得很好 - 区别在于阵列的生成方式(一个是通过相同的输入我得到word,一个是.txt文件中的分割线。)

此外,当我尝试通过其索引显式调用元素时,它会显示出来,所以我确定数组正在加载。我也使用高索引号;调用wordList [173138]并没有以任何方式使响应时间变慢。

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

1 个答案:

答案 0 :(得分:0)

我最初把它放在评论中,但被告知要回答 - 这应该更容易找到。对于无法循环播放此类数组的任何人,请检查您按照换行符拆分数组的方式 - 我的数组导致了一些问题,因为我使用了data.split('\n')我应该在哪里&# 39;一直在使用data.split('\r\n')。修好后,一切都很好。