Моя цель - взять файл CSV, который содержит приблизительно 4 миллиона записей, и обрабатывать каждую запись при очистке данных определенного поля. Процесс очистки, который у нас есть, на самом деле создает обратимый хэш, но это длительный процесс (почти 1 секунда). То, что я хотел бы сделать, так как для этого поля есть только около 50 000 уникальных значений, это установить их как свойства объекта. Вот псевдо-пример того, как будет построен объект. Вы можете видеть, что для дубликатов я планирую просто перезаписать существующее значение (это нужно для того, чтобы избежать циклического перебора некоторых операторов поиска на основе.
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'
Я просмотрел здесь несколько хороших постов об итерации по каждому свойству объекта (например, Итерирование по каждому свойству объекта в javascript с использованием Prototype? ), но я все еще не совсем уверен как выполнить то, что я делаю. Как тогда я могу взять свой объект со свойствами 50k и по существу вывести значения в массив, чтобы я мог получить что-то вроде этого?
myArray = ['fieldVaue1','fieldVaue2','fieldVaue3']
РЕДАКТИРОВАТЬ: я мог бы также использовать некоторую помощь в первой части здесь, потому что я получаю нулевое значение или неопределенное, когда я пытаюсь установить свойства объекта. Мне также по-прежнему нужна помощь, чтобы пройти через свойства объекта, чтобы построить мой массив. Любая помощь будет принята с благодарностью.