节点创建文件并将选定的对象值写入其中

Node create file and write selected object values to it

通过我的函数从一组对象中获取值并将这些值写入 csv 文件的最佳方法是什么?

物体会像这样穿过:

 [ { objectTo:                        
     { employeeName: 'John',         
       employeeID: '234234', 
       DOB: '2333'},         
    employeeCurrent: true,
    employeePast: false},  
  { objectTo:                        
     { employeeName: 'Janet',         
       employeeID: '23423432', 
       DOB: '23333' },        
    employeeCurrent:true,
    employeePast: false} ]

我想在一个单元格中获取像 objects1.objectTo.employeeName, objects1.objectTo.DOB, objects1.employeeCurrent 这样的对象,但将每个 objectTo 写在它自己的行中。

我试过循环并使用 for 循环设置它,然后将值传递给 writeFile,但这不起作用。最好的方法是什么?

我也试过使用库下划线给我值,但这也不起作用,只是写出了整个对象:

var objectsToFile = function(objectsTotal){

        objectsTotal = _.values(objectsTotal, function(value) {
            return value.objectTo.employeeName;
        });

        objectsTotal = _.values(objectsTotal, function(value) {
            return value.employeeCurrent;
        });

        objectsTotal = _.values(objectsTotal, function(value) {
            return value.employeePast;
        });

        writeFile('objectsTotalet.csv', util.inspect(objectsTotal), function(err) {
            if (err) console.log(err);
        });
    };

CSV 格式的预期输出(objects1.objectTo.employeeName、objects1.objectTo.DOB、objects1.employeeCurrent):

约翰 2333 正确 珍妮特 23333 是的

let obj = [ { objectTo:                        
 { employeeName: 'John',         
   employeeID: '234234', 
   DOB: '2333'},         
employeeCurrent: true,
employeePast: false},  
{ objectTo:                        
 { employeeName: 'Janet',         
   employeeID: '23423432', 
   DOB: '23333' },        
employeeCurrent:true,
employeePast: false} ]

const csvString = obj.map(item => {
   return [item.objectTo.employeeName, item.objectTo.DOB, item.employeeCurrent]
}).join('\n')
console.log(csvString) 
// John,2333,true
// Janet,23333,true

如果您希望它们都在同一行,只需使用 ',' 而不是 '\n'

加入它们

获得字符串后,您可以使用 fs 将它们写入 csv 文件