เมธอด 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()