私はすでに改行で分割したCSVファイルを持っていますが、改行のカンマでさらに分割して私に3つのことを与えています探して、後でプログラムで使用するためにそれらの名前を付けました。私が探しているのは、オブジェクトの1つが特定の値と一致する場合にアイテムを削除することです。条件の配列からオブジェクトを削除する
var values=[];
var output="";
for(i = 0; i < csv_split.length; i++){
csv_split[i] = csv_split[i].split(',') //Splits the csv file that's already split by new line by commas
values[i]={}
values[i].Name=newline_split[i][1]; //finds the second object and names it values.name
values[i].Rev=newline_split[i][2]; //finds the third object and names it values.rev
values[i].URL=newline_split[i][9]; //finds the eighth object and names it values.url
}
これは後で使用されるので、私が探している値のリストを得ることができます。私は、forループ最初にこのコードを修正されたなかったので、何
for (i=0; i < values.length; i++){
output += values[i].Name + ',';
output += values[i].Rev + ',';
output += values[i].URL+ ',';
output += "\n\n||||||";
}
:この背後にある考え方は、values.Revが「NO ACCESS」にマッチした場合、それは全体を削除するというものであった
if (values[i].Rev == "NO ACCESS") {
csv_split[i].splice(0,1);
}
csv_split [i]。後で出力に表示されないようにします。
values.Revが "NO ACCESS"と一致するかどうかに関係なく、スクリプトを実行すると出力全体が表示されるようになりました。私はこれで何が欠けていますか?
条件が満たされていない場合、CSVライン全体を削除することを意味しますか? –
条件が満たされるたびに、csv_splitの行全体を削除します。たとえば、csv_split [1]の値が[1] .Revの値が "NO ACCESS"の場合csv_split [1]からすべての値を削除して、後で2番目のコードボックスに表示されるようにしたいvalues.Rev = "NO ACCESS"の行は表示されません –