私の目標は、約4百万のレコードを含むCSVファイルを取り込み、特定のフィールドのデータをスクラブしながら各レコードを処理することです。スクラブプロセスは、実際には可逆ハッシュを作成しますが、時間がかかるプロセスです(ほぼ1秒)。そのフィールドには約50,000の一意の値しかないので、オブジェクトのプロパティとして設定することができます。ここでは、オブジェクトの構築方法の擬似例を示します。あなたは重複のために私は既存の値を上書きすることを計画していることがわかります(これは、いくつかの場合にはベースの検索の文をループすることを避けるためにである。nodeJSを使用した重複排除
var csv = require('csv');
var http = require('http');
var CBNObj = new Object;
csv()
.fromPath(__dirname+'/report.csv',{
columns: true
})
.transform(function(data){
CBNObj[data['Field Value']] = data['Field Value'];
});
console.log(CBNObj);
これは、このように私の物の何かを作成する必要があります。
myObj['fieldValue1'] = 'fieldValue1'
myObj['fieldValue2'] = 'fieldValue2'
myObj['fieldValue3'] = 'fieldValue3'
myObj['fieldValue1'] = 'fieldValue1'
myObj['fieldValue1'] = 'fieldValue1'
私はオブジェクトのすべてのプロパティ(このようにIterating over every property of an object in javascript using Prototype?)を反復することについてここでいくつかの良い記事を見てきましたが、私は何をしているかをまだ正確にはわかりません。本質的に値を配列にダンプするので、私はこのようなものに終わることができますか?
EDIT:オブジェクトプロパティを設定しようとすると、null値が返されるか、または未定義になるため、ここで最初の部分でいくつかの支援を使用することもできます。私はまだ助けを必要とし、次にオブジェクトのプロパティを走査して配列を構築します。どんな助けでも大歓迎です。
オブジェクトのキーの順序は** [保証されません](https://developer.mozilla.org/en/JavaScript/Reference/Statements/for...in#Parameters)です。 *。 '['fieldValue3'、 'fieldValue1'、 'fieldValue2']'で終わる可能性が高いので、注文が重要な場合は余分な作業が必要になります。 – josh3736