由段落和一些空行的纯文本文件被加载到通过Ajax的阵列。该阵列被分成由新线的元素,如:

var infoArray = new Array();
infoArray = response.split("\n");

然后该阵列是通过把for循环中,以用于在各种元件,其指示下一个正元件得到以特定的方式处理的关键字各种测试。大多的元素是输出,如

    strMsg += '<li>' + infoArray[i] + '</li>';
从文本文件

问题是空白线也保存到数组元素。这时一个空白的列表项获得输出,是明显错误的。

需要一个测试条件只是为了检查,如果数组元素为空或者包含一个新行字符,我不知道它适用。加上服务器是越野车,有时需要一分钟加载新的信息,所以我有时候不知道如果我刷新我最近的代码或没有。

一些我试过的东西:

    if (!(infoArray[i].substring(0,0) == '')) { /* process output */ }
    if (!(infoArray[i].substring(0,1) == '\n')) { /* process output */ }
    if (!(infoArray[i].substring(0,0) == '\n')) { /* process output */ }
    if (!(infoArray[i].substring(0,1) == /\n/)) { /* process output */ }
    if (!(infoArray[i].substring(0,1) == /\n/)) { /* process output */ }
    if (!(infoArray[i].substring(0,1) == /\n|\s*\n/)) { /* process output */ }
    if (!(infoArray[i].IsEmpty())) { /* process output */ }

    var tempString = infoArray[i].toString();
    if (!(tempString.IsEmpty())) { /* process output */ }
    if (tempString.length != 0) { /* process output */ }

想法?

编辑:哦,是的我也试过检查“\ n”只需要拿出来之前做的“编码”和“解码”

没有正确的解决方案

其他提示

尝试修剪与正则表达式的字符串。我觉得这是一个流行的(从首款谷歌打 ):

if (!(infoArray[i].replace(/^\s+|\s+$/g, '') == ''))

的WebKit发布另一组的装饰功能可以使用。

我建议只是修剪数组元素。例如,可以使用jQuery:

if (infoArray[i] = $.trim(infoArray[i])) {
    strMsg += '<li>' + infoArray[i] + '</li>';
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top