Как проверить, содержит ли элемент массива только новую строку?

Простой текстовый файл, состоящий из абзацев и нескольких пустых строк, загружается в массив через Ajax. Массив разбит на элементы новыми строками, такими как:

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

Затем массив помещается в цикл for с различными проверками ключевых слов в различных элементах, которые указывают, что следующие n-элементы обрабатываются определенным образом. В основном выводятся элементы, такие как

    strMsg + = '
  • ' + infoArray [i] + '';
  • Проблема в том, что пустые строки из текстового файла также сохраняются в элементах массива. Затем выводится пустой элемент списка и он явно ошибочен.

    Нужно проверить условие, чтобы проверить, является ли элемент массива пустым или содержит символ новой строки, я не уверен, что применяется. Кроме того, сервер глючит и иногда загружает новую информацию за минуту, поэтому я иногда не уверен, обновляю ли я свой самый последний код или нет.

    Некоторые из вещей, которые я пробовал:

        if (! (infoArray [i].substring (0,0) == '')) {/ * вывод процесса */ }
        if (!(infoArray[i].substring(0,1) == '\n')) { /* обработать вывод */ }
        if (!(infoArray[i].substring(0,0) == '\n')) { /* обработать вывод */ }
        if (!(infoArray[i].substring(0,1) == /\n/)) { /* вывод процесса * /} if (! (infoArray [i].substring (0,1) == / \ n /)) {/ * вывод процесса */ }
        if (!(infoArray[i].substring(0,1) == /\n|\s*\n/)) { /* обработать вывод */ }
        if (!(infoArray[i].IsEmpty())) { /* вывод процесса */ }
    
        var tempString = infoArray[i].toString();
        if (!(tempString.IsEmpty())) { /* процесс вывода */ }
        if (tempString.length!= 0) { /* процесс вывода * /}

    Идеи?

    Изменить: о да, я также попытался сделать 'кодировать' и 'декодировать', прежде чем проверять '\ n', просто чтобы вывести его.

    2 ответа

    Попробуйте обрезать строку с помощью RegEx. Я думаю, что это популярно (взято из первого попадания Google):

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

    WebKit публикует другой набор функций обрезки, которые вы можете использовать.

    Я бы предложил просто обрезать элемент массива. Например, вы можете использовать jQuery:

    if (infoArray[i] = $.trim(infoArray[i])) {
        strMsg += '<li>' + infoArray[i] + '</li>';
    }
    
    Другие вопросы по тегам