【问题标题】:Not work indexOf() for array that is from ajax text file data不适用于来自 ajax 文本文件数据的数组的 indexOf()
【发布时间】:2018-10-05 06:35:36
【问题描述】:

jQuery 版本 1.4.4

aaa.txt 仅包括 3 行 01000 01001 01139

$.ajax({

        url: "aaa.txt", 
        success: function(result){
            console.log(result);
            var rArr = result.split("\n");
            var ee = rArr.indexOf("01001");
            console.log(ee);
        }
});

return -1.

我猜它应该返回1。所有类型都是字符串。

我不明白为什么会发生这种情况。

【问题讨论】:

    标签: javascript jquery ajax split indexof


    【解决方案1】:
       var rArr = result.split(" ");// in this line you are spliting
       var ee = rArr.indexOf("01001");// so if it is array you can not use indexOf it will work on sring.
    

      var ee = rArr[index].indexOf("01001");//index should be according to your need
    

    【讨论】:

      【解决方案2】:

      你应该检查你的文件,看看它实际上使用了哪个换行符。例如,如果您的文件是由 Windows 记事本编写的,则它使用\r\n,因此您的.split() 产生["01000\r","01001\r","01139"],因此.indexOf() 返回-1,作为"01001"!=="01001\r"

      【讨论】:

        【解决方案3】:

        我必须查看您问题的源代码才能确定这一点,但您输入数据的每一行都以空格结尾。

        "01001 " !== "01001"
        

        您需要:

        • 从输入文件中删除空格
        • 在测试中匹配它
        • 从数组的每个成员(使用map)中删除它(使用trim)。

        【讨论】:

          猜你喜欢
          • 2017-12-11
          • 2021-01-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多