如何在 JavaScript 中將二維陣列轉換為 CSV 字串?


CSV(逗號分隔值)檔案格式是應用程式和資料儲存之間交換資料的常用方法。CSV 檔案格式簡單易懂,許多應用程式和程式語言都支援它。

在 JavaScript 中,有多種方法可以將資料陣列轉換為 CSV 字串。在本教程中,我們將介紹兩種常用的方法:Array.join() 方法和 JSON.stringify() 方法。

使用 Array.join() 方法

Array.join() 方法是 JavaScript Array 物件的內建方法。它可以用於將陣列的元素連線成單個字串。Array.join() 方法接受一個可選的分隔符引數。此引數可用於指定用作陣列元素之間分隔符的字元或字串。

如果沒有指定分隔符引數,則Array.join() 方法將使用逗號 (,) 作為預設分隔符。

示例

以下示例演示如何使用 Array.join() 方法將資料陣列轉換為 CSV 字串:

<html>
<head>
   <title>example- Using the Array.join() Method</title>
</head>
<body>
   <h2> Array join() Method </h2>
   <div id="result"></div>
   <script>
      var data = [ ["Name","Age","City"], ["John","30","New York"], ["Jane","40","London"] ];
      var csvString = data.join( " " )
      document.getElementById("result").innerHTML = `csvString: ${csvString} <br> Type of csvString: ${typeof csvString}`;
   </script>
</body>
</html>

在上面的示例中,我們有一個要轉換為 CSV 字串的資料陣列。我們使用Array.join() 方法來實現此目的,並指定空格字元 ( ) 作為分隔符。

使用 JSON.stringify() 方法

將資料陣列轉換為 CSV 字串的另一種常用方法是使用 JSON.stringify() 方法。JSON.stringify() 方法是 JavaScript JSON 物件的內建方法。它可以用於將 JavaScript 物件轉換為 JSON 字串。

JSON.stringify() 方法接受一個可選的 replacer 引數。此引數可用於指定一個函式,該函式將在資料被字串化之前用於轉換資料。

示例

以下示例演示如何使用 JSON.stringify() 方法將資料陣列轉換為 CSV 字串:

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      var data = [ ["Name","Age","City"], ["John","30","New York"], ["Jane","40","London"] ];
      function replacer( key, value ) {
          return value.toString().replace( /,/g, " " );
      }
      var csvString = JSON.stringify( data, replacer );
      var csvString = csvString.replaceAll('"', '')
      var csvString = csvString.replaceAll(" ", ',')
      document.getElementById("result").innerHTML = csvString
   </script>
</body>
</html>

在上面的示例中,我們有一個要轉換為 CSV 字串的資料陣列。我們使用JSON.stringify() 方法來實現此目的,並指定一個 replacer 函式。

每種方法的優缺點

Array.join() 方法和JSON.stringify() 方法都有其優缺點。

Array.join() 方法是一種簡單易用的將資料陣列轉換為 CSV 字串的方法。但是,它有一個主要缺點:它僅適用於包含字串的陣列。如果嘗試將Array.join() 方法與包含非字串值的陣列一起使用,則會收到錯誤。

JSON.stringify() 方法是將資料陣列轉換為 CSV 字串的更靈活的方法。它可以與包含字串和非字串的陣列一起使用。但是,JSON.stringify() 方法有一個主要缺點:它比Array.join() 方法慢得多。

結論

在本教程中,我們介紹了兩種常用的將資料陣列轉換為 CSV 字串的方法:Array.join() 方法和JSON.stringify() 方法。這兩種方法都有其優缺點。應該使用哪種方法取決於您的具體需求。

更新於:2022年7月21日

953 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告