【发布时间】:2018-04-17 02:40:03
【问题描述】:
我正在尝试从我的对象中仅选择某些值以写入文件。但这会写入整个对象,除非我使用 util.inspect 它只是写为对象。这应该在它们进入时逐行写入我从对象中选择的值:
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);
});
};
objectsTotal 来自如下函数:
[ { objectTo:
{ employeeName: 'John',
employeeID: '234234',
DOB: '2333'},
employeeCurrent: true,
employeePast: false},
{ objectTo:
{ employeeName: 'Janet',
employeeID: '23423432',
DOB: '23333' },
employeeCurrent:true,
employeePast: false} ]
输出将是有条件的,这就是为什么我使用下划线库但它不起作用它甚至不使用下划线返回的值:
还会有其他值添加到对象中,因此还需要添加一个返回值,例如:
objectsTotal = _.values(objectsTotal, function(value) {
return value.employeeStatus != 'employed' ||
value.url.indexOf('employee:') === -1 ||
value.employeeid.length === ('id:')
});
我确实需要使用这个库在 csv 文件中给出我想要的结果。输出将类似于逐行返回的 objectsTotal 值,并且可以在一个单元格中。
【问题讨论】:
-
为什么要坚持使用下划线?
-
@chsdk 代码已经写在我的另一个不使用节点的应用程序中,如果你能提供一个与最后一个条件相同的答案,我会使用它。
标签: javascript json node.js object underscore.js