2016-07-03 23 views
1

私はcsv-readerディレクティブを取得し、csvファイルをアップロードしましょう。私は気づいた私は、例えば、単語間のスペースにファイルをアップロードする場合:
ABC
ABC
ABCcsvファイルのアップロード時に空白行を削除する

これが示されます

ABC

ABC。私はすべての空白行を削除したい何をすべきかわからない。

for(var i=0 ;i< $scope.csvModel.length; i++){  
    if (csvModel[i] == "") { 
     $scope.csvModel.splice(i,1); 
    } 
} 
+0

おそらくそこにも\ r文字が入っています(行は空ではありません)。 – K3N

答えて

0

使用例:Array.prototype.filter()

var rows = contents.split('\n').filter(function(str){ 
    return str; 
}); 
+0

前方ループの途中でスプライスできません。将来の反復でインデックスを作成します。 (var i = array.length-1; i> 0; i - ){ if([i] === ""){ array.splice(i、1)については、 – charlietfl

+0

を逆にループしても可能です。 ) } } – Angular

+0

@charlietflその逆のようになりますか? – Angular

1

試してください:あなたはcsvModel内の各項目はnewValue

何かのようにするのではなく、空の文字列であるかどうかを確認したいように見える何を示しているから、 enter image description here

   var reader = new FileReader(); 
       reader.onload = function(e) { 
        var contents = e.target.result; 
        var rows = contents.split('\n');     

        // Check if the last row is empty. This works 
        if(rows[rows.length-1] ===''){ 
         rows.pop() 
} 
} 


    // this doesn't work for some reason. It doesn't detect the '' in the middle of the arrays. 

    for(var i=rows.length-1;i>0;i--){ 
     if(rows[i] === ''){ 
     rows.splice(i,1) 
     } 
    } 
+0

空の文字列を含む配列を返しています...もし行[3] === ''を実行すると、falseを返しますが、行[rows.length-1] === ''、それは真を返す – Angular

+0

問題を再現するプランカーでデモを作成する – charlietfl

関連する問題