Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีแปลง Array เป็น String ใน JavaScript

เมธอด toString()

Array.toString() แปลง Array เป็น String โดยรวม Element ทั้งหมดคั่นด้วย Comma (,) เหมือน join() โดยไม่มี Separator

Syntax

array.toString()

ตัวอย่างโค้ด

<html>
<head>
  <title>JavaScript Array toString Method</title>
</head>
<body>
  <script>
    var arr = new Array("time", "money", "work");
    var str = arr.toString();
    document.write("Returned string is : " + str);
  </script>
</body>
</html>

ผลลัพธ์

Returned string is : time,money,work

รายละเอียด

  • คั่น Element ด้วย Comma (,) เสมอ ไม่สามารถเปลี่ยน Separator ได้
  • Element จะถูกแปลงเป็น String อัตโนมัติ (toString ของแต่ละ Element)
  • คืนค่า String
  • ไม่ Mutate Array ต้นฉบับ

วิธีอื่นๆ

1. join(separator) - ยืดหยุ่นกว่า (แนะนำ)

const arr = ["time", "money", "work"];
arr.join();        // "time,money,work" (เหมือน toString)
arr.join(", ");    // "time, money, work"
arr.join(" | ");   // "time | money | work"
arr.join("");      // "timemoneywork"

2. JSON.stringify() - สำหรับ Object/Array ซ้อน

const arr = ["time", "money", "work"];
JSON.stringify(arr); // '["time","money","work"]' - รวม Quote และ Bracket

const nested = [1, [2, 3], {a: 4}];
JSON.stringify(nested); // '[1,[2,3],{"a":4}]'

3. String() Constructor / Template Literal

String(arr);        // "time,money,work" (เหมือน toString)
`${arr}`;           // "time,money,work" (เหมือน toString)

ตารางเปรียบเทียบ

วิธี Separator รองรับ Nested Use Case
toString()Fixed: Commaไม่ (แปลงเป็น String แบบแบน)Simple Array -> String
join(sep)Customizableไม่Custom Format, CSV
JSON.stringify()Fixed Formatได้ (Full Structure)API, Storage, Debug

ข้อควรระวัง

  • toString() และ join() ไม่รองรับ Circular Reference (จะ Error)
  • JSON.stringify() รองรับ Circular ได้ถ้าใช้ Replacer Function
  • Element ที่เป็น null หรือ undefined จะกลายเป็น Empty String ใน toString/join

สรุป

toString() แปลง Array เป็น String คั่น Comma คงที่ ต้องการ Custom Separator ใช้ join(separator) ต้องการเก็บโครงสร้างเต็ม (Nested, Object) ใช้ JSON.stringify()