I have a set of JSON data like this:
{"id":1,"name":"Sam","birthday":"12December","age":"15"},
{"id":2,"name":"Ash","birthday":"12January","age":"23"}
I passed the data through the function:
ConvertToCSV(data)
Now I am able to get id, name, birthday and age in the csv. However, I want to remove birthday column during the conversion so that it does not show up in the csv generated. How can I do that?
Current Output:
id | name | birthday | age
1 | Sam | 12December | 15
2 | Ash | 12January | 23
Desired Output:
id | name | age
1 | Sam | 15
2 | Ash | 23
Here is the original code:
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;
}
I added the following into the function according to here:
for(var i = array.length - 1; i >= 0; i--) {
var index = array[i].birthday;
array[i].splice(index, 1);
}
But the above code does not work, anyone can help me? Thank you!