我有一个像这样的对象 myObject
0:
timestamp: 1525879470
name: "testing"
lastname: "testingdone"
1:
timestamp: 1525879470
name: "testing2"
lastname: "testingdone2"
我正在寻找一种将它转换为 csv 的方法,就像这样
timestamp,name,lastname
1525879470,testing,testingdone
1525879470,testing2,testingdone2
好消息是我可以提取标题
var headers = Object.keys(myObject.reduce(function (result, obj) {
return Object.assign(result, obj);
}, {}));
headers var 会给我一个像这样的标题数组
数组(3):时间戳、姓名、姓氏
我只是想从对象中提取值,可能是在像标题这样的数组中,然后最后将其转换为 CSV,如上所示。我尝试使用数组映射,但出于某种原因我无法弄清楚
最佳答案
如果这是对象数组,您可以先获取 header ,然后获取值并从中创建字符串。
const data = [ {timestamp: 1525879470,name: "testing",lastname: "testingdone"
}, {timestamp: 1525879470,name: "testing2",lastname: "testingdone2"}]
let csv = '';
let header = Object.keys(data[0]).join(',');
let values = data.map(o => Object.values(o).join(',')).join('\n');
csv += header + '\n' + values;
console.log(csv)
关于javascript - 使用键作为标题和值将对象集合转换为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50257068/