1 回答

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊
假設(shè)data參數(shù)包含用于構(gòu)建 CSV 數(shù)據(jù)的對象數(shù)組,您可以使用Object.keys()和Object.value()動態(tài)構(gòu)建數(shù)據(jù)。使用此方法,鍵名是什么或數(shù)據(jù)中包含多少個鍵名都無關(guān)緊要。
function download_csv(data, sensor) {
let csvHeader = Object.keys(data[0]).join(',') + '\n'; // header row
let csvBody = data.map(row => Object.values(row).join(',')).join('\n');
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csvHeader + csvBody);
hiddenElement.target = '_blank';
hiddenElement.download = sensor + '.csv';
hiddenElement.click();
}
let data = [{
lorem: 'ipsum',
foo: 'bar',
fizz: 'buzz'
}];
download_csv(data, 'foobar');
如果您需要支持舊版瀏覽器,需要注意的一件事Object.values
是 IE 不支持。不過,有一個polyfill可用。
添加回答
舉報