如何使用JavaScript将数组下载为TXT文件并解决[object Object]输出问题
解决方案
导出内容显示为[object Object]是因为JavaScript将对象隐式转换为字符串时的默认输出,你只需要修改downloadContract函数,在导出前对对象数组做格式化处理即可,完整修改后的代码如下:
function download(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } function downloadContract(){ console.log(assetArray) // 新增格式化逻辑:遍历数组将每个对象转为[id, name]格式的字符串后拼接 const formattedContent = assetArray.map(item => `[${item.id},${item.name}]`).join(',') download("assets.txt", formattedContent); }
如果你的对象属性名不是id和name,把代码中对应的item.id、item.name替换为你实际的属性名即可。
内容的提问来源于stack exchange,提问作者EvocativeAxis
相关产品推荐
相关产品推荐

