【发布时间】:2018-06-25 20:04:41
【问题描述】:
我有一组这样的 JSON 数据:
{"id":1,"name":"Sam","birthday":"12December","age":"15"},
{"id":2,"name":"Ash","birthday":"12January","age":"23"}
我通过函数传递数据:
ConvertToCSV(data)
现在我可以在 csv 中获取 ID、姓名、生日和年龄。但是,我想在转换过程中删除生日列,这样它就不会出现在生成的 csv 中。我该怎么做?
当前输出:
id | name | birthday | age
1 | Sam | 12December | 15
2 | Ash | 12January | 23
期望的输出:
id | name | age
1 | Sam | 15
2 | Ash | 23
这里是原始代码:
ConvertToCSV(data) {
var array = $.parseJSON('[' + data + ']');
var fields = Object.keys(array[0]);
var replacer = function(key, value) { return value === null ? '' : value }
var csv = array.map(function(row){
return fields.map(function(fieldname){
return JSON.stringify(row[fieldname], replacer)
}).join(',')
})
csv.unshift(fields.join(',')) // add header column
var str = csv.join('\r\n');
return str;
}
我根据here在函数中添加了以下内容:
for(var i = array.length - 1; i >= 0; i--) {
var index = array[i].birthday;
array[i].splice(index, 1);
}
但是上面的代码不起作用,任何人都可以帮助我吗?谢谢!
【问题讨论】:
标签: javascript json angular csv typescript