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

การแปลงอาร์เรย์ว่าง [] เป็น String ใน JavaScript


คำตอบสั้น

String([]) คืนค่า "" (สตริงว่าง)

เหตุผลและรายละเอียด

เมื่อใช้ String() หรือ .toString() กับอาร์เรย์ JavaScript จะทำการแปลงโดยเรียก Array.prototype.join() โดยไม่ระบุตัวคั่น (default เป็น comma) ดังนั้น:

  • [] (อาร์เรย์ว่าง) → "" (ไม่มีสมาชิก จึงไม่มีอะไรต่อกัน)
  • [1,2,3] → "1,2,3"
  • ["a","b"] → "a,b"

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

<!DOCTYPE html>
<html>
<body>
  <p>แปลง [] เป็น String</p>
  <script>
    var emptyArr = [];
    var result = String(emptyArr);
    document.write('String([]) = "' + result + '"'); // ""
    document.write("<br>ความยาว: " + result.length); // 0
    
    // เปรียบเทียบกับอาร์เรย์ที่มีค่า
    document.write("<br><br>String([1,2]) = " + String([1,2])); // "1,2"
    document.write("<br>String(['a']) = " + String(['a'])); // "a"
  </script>
</body>
</html>

การแปลงแบบ Implicit (อัตโนมัติ)

JavaScript แปลงอาร์เรย์เป็นสตริงอัตโนมัติในบริบทบางอย่าง:

[] + ""        // "" (สตริงว่าง)
[] + "hello"   // "hello"
[1,2] + [3,4]  // "1,23,4" (แปลงทั้งคู่เป็นสตริงก่อนแล้วต่อกัน)

สรุป

อาร์เรย์ String()
[]""
[50,100]"50,100"
["a","b"]"a,b"