最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用原生JS將JSON數(shù)組轉(zhuǎn)換為CSV文件的完整代碼

 更新時間:2025年10月30日 08:30:41   作者:技術(shù)小丁  
本文介紹了如何在瀏覽器中實現(xiàn)前端CSV文件下載功能,通過三個步驟實現(xiàn):準備數(shù)據(jù)數(shù)組并定義表頭;將數(shù)據(jù)拼接為符合CSV格式的字符串,包含引號處理;使用Blob對象創(chuàng)建文件流,通過隱藏的a標簽,需要的朋友可以參考下

一、核心思路

  1. 把 JS 數(shù)組拼成「逗號分隔 + 換行」的字符串 → 這就是 CSV 的“文本協(xié)議”。
  2. 利用 Blob 把字符串變成文件流。
  3. 創(chuàng)建一個看不見的 <a> 標簽,給它一個 download 屬性,再自動點一下,瀏覽器就會彈出保存框。

二、核心代碼

1. 準備原始數(shù)據(jù)

原始數(shù)據(jù)可以是接口返回,也可以是 mock。

const posts = [
  { id:1, title:'用 Vite 搭建 React 18 項目', link:'...', img:'...', views:12034 },
  // ...
];

2. 定義表頭

順序隨意,只要和下面 map 對應即可。

const headers = ['id','名稱','鏈接','圖片','閱讀'];

3. 拼接數(shù)據(jù)

const csvContent = [
  headers.join(','), // 第一行:表頭
  ...posts.map(item => [ // 剩余行:數(shù)據(jù)
    `"${item.id}"`,
    `"${item.title}"`,
    `"${item.link}"`,
    `"${item.img}"`,
    `"${item.views}"`
  ].join(','))
].join('\n');

4. 生成文件并下載

const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
const link = document.createElement('a');
const url = URL.createObjectURL(blob);
link.href = url;
link.download = `文章信息_${new Date().toISOString()}.csv`;
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(url);

三、完整代碼

// 1. 造點假數(shù)據(jù)
const posts = [
  {
    id: 1,
    title: '用 Vite 搭建 React 18 項目',
    link: 'https://example.com/vite-react18',
    img: 'https://example.com/cover/vite-react.jpg',
    views: 12034
  },
  {
    id: 2,
    title: 'Tailwind CSS 3 響應式布局技巧',
    link: 'https://example.com/tailwind-layout',
    img: 'https://example.com/cover/tailwind.jpg',
    views: 8721
  },
  {
    id: 3,
    title: '深入淺出瀏覽器事件循環(huán)',
    link: 'https://example.com/event-loop',
    img: 'https://example.com/cover/event-loop.jpg',
    views: 15003
  },
  {
    id: 4,
    title: 'Webpack 5 性能優(yōu)化清單',
    link: 'https://example.com/webpack5-optimize',
    img: 'https://example.com/cover/webpack.jpg',
    views: 9855
  },
  {
    id: 5,
    title: '前端圖片懶加載完整方案',
    link: 'https://example.com/lazy-load',
    img: 'https://example.com/cover/lazy-load.jpg',
    views: 6542
  }
];
?
// 2. 組裝 CSV
const headers = ['id', '名稱', '鏈接', '圖片', '閱讀'];
const csvContent = [
  headers.join(','),
  ...posts.map(item => [
    `"${item.id}"`,
    `"${item.title}"`,
    `"${item.link}"`,
    `"${item.img}"`,
    `"${item.views}"`
  ].join(','))
].join('\n');
?
// 3. 下載
const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
const link = document.createElement('a');
const url = URL.createObjectURL(blob);
link.setAttribute('href', url);
link.setAttribute('download', `文章信息_${new Date().toISOString()}.csv`);
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(url);   // 釋放內(nèi)存

快速體驗

  • 打開任意網(wǎng)頁,F(xiàn)12 進控制臺
  • 把完整代碼全部粘進去,回車

到此這篇關(guān)于使用原生JS將JSON數(shù)組秒變CSV文件的完整代碼的文章就介紹到這了,更多相關(guān)原生JS JSON數(shù)組變CSV文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS?try?catch用法舉例之異常處理

    JS?try?catch用法舉例之異常處理

    JavaScript try…catch是我們使用的功能之一,作為Web前端工程師,JavaScript try…catch是我們使用的功能之一,這篇文章主要給大家介紹了關(guān)于JS?try?catch用法舉例之異常處理的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • [全兼容哦]--實用、簡潔、炫酷的頁面轉(zhuǎn)入效果loing

    [全兼容哦]--實用、簡潔、炫酷的頁面轉(zhuǎn)入效果loing

    [全兼容哦]--實用、簡潔、炫酷的頁面轉(zhuǎn)入效果loing...
    2007-05-05
  • JavaScript 生成唯一ID的幾種方式

    JavaScript 生成唯一ID的幾種方式

    這篇文章主要介紹了JavaScript 生成唯一ID的幾種方式,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2021-02-02
  • JavaScript+html實現(xiàn)前端頁面隨機二維碼驗證

    JavaScript+html實現(xiàn)前端頁面隨機二維碼驗證

    這篇文章主要為大家詳細介紹了JavaScript+html實現(xiàn)前端頁面隨機二維碼驗證,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 前端常見的數(shù)據(jù)緩存方案及其實現(xiàn)細節(jié)

    前端常見的數(shù)據(jù)緩存方案及其實現(xiàn)細節(jié)

    緩存機制隨處可見,優(yōu)秀的緩存機制可以縮短網(wǎng)頁請求資源的事件,減少延遲,這篇文章主要介紹了前端常見的數(shù)據(jù)緩存方案及其實現(xiàn)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-07-07
  • Javascript File和Blob詳解

    Javascript File和Blob詳解

    這篇文章主要為大家介紹了Javascript File和Blob,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 前端開發(fā)之便利店收銀系統(tǒng)代碼

    前端開發(fā)之便利店收銀系統(tǒng)代碼

    這篇文章主要介紹了社區(qū)便利店收銀系統(tǒng)代碼,使用前端初級開發(fā)者,代碼很簡單需要的朋友可以參考下
    2019-12-12
  • JS利用原生canvas實現(xiàn)圖形標注功能

    JS利用原生canvas實現(xiàn)圖形標注功能

    這篇文章主要為大家詳細介紹了JS如何利用原生canvas實現(xiàn)圖形標注功能,支持矩形、多邊形、線段、圓形等已繪制的圖形進行縮放,移動,需要的可以參考下
    2024-03-03
  • js實現(xiàn)漂浮回頂部按鈕實例

    js實現(xiàn)漂浮回頂部按鈕實例

    這篇文章主要介紹了js實現(xiàn)漂浮回頂部按鈕的方法,實例分析了javascript實現(xiàn)返回頂部功能的樣式與動態(tài)實現(xiàn)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • JavaScript操作cookie類實例

    JavaScript操作cookie類實例

    這篇文章主要介紹了JavaScript操作cookie類,實例分析了javascript針對cookie的設(shè)置、讀取、刪除等常用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03

最新評論

宜章县| 广安市| 湖南省| 宁海县| 湖口县| 江门市| 长乐市| 洪洞县| 涿州市| 海口市| 邹城市| 潞城市| 吴堡县| 河北省| 梨树县| 望谟县| 岑巩县| 中牟县| 延长县| 乌拉特前旗| 耒阳市| 临桂县| 社旗县| 德昌县| 临澧县| 苏州市| 乃东县| 盖州市| 宁晋县| 乌鲁木齐县| 全南县| 凤翔县| 金华市| 冕宁县| 牟定县| 明光市| 哈密市| 北安市| 祁东县| 保山市| 新河县|