[英]How to create downloadable csv file from a javascript object consisting of array?
我有一個這樣的 object:-
{
"SUCCESS": [
"apple",
"orange",
"grapes"
],
"FAILED": ["kiwi"],
"NOPE": ["peach"]
}
我想要一個 CSV 如下:-
apple SUCCESS
orange SUCCESS
grapes SUCCESS
kiwi FAILED
peach NOPE
我想通了這段代碼,但無法迭代:-
const downLoadCsv = (key, items) => {
let csvContent = '';
if (!items.length) {
return;
}
items.forEach((item) => {
csvContent += `${item},`;
csvContent += '\n';
});
const anchorEle = document.createElement('a');
anchorEle.href = `data:text/csv;charset=utf-8,${encodeURI(csvContent)}`;
anchorEle.target = '_blank';
anchorEle.download = `${key}.csv`;
anchorEle.click();
};
好吧,這里的重點是,正如您所寫, items
不是數組,而是 object 。
您應該做的是迭代items
鍵和每個鍵的項目列表,因此:
const downLoadCsv = (key, items) => {
let csvContent = '';
Object.keys(items).forEach(status => {
items[status].forEach(fruit => {
csvContent += `${fruit},${status}\n`;
})
});
if (csvContent !== '') {
const anchorEle = document.createElement('a');
anchorEle.href = `data:text/csv;charset=utf-8,${encodeURI(csvContent)}`;
anchorEle.target = '_blank';
anchorEle.download = `${key}.csv`;
anchorEle.click();
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.