[英]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.