String.slice()
ดึงส่วนย่อยของ String ส่งคืน String ใหม่ ไม่เปลี่ยน String ต้นฉบับ (Immutable)
ไวยากรณ์
string.slice(startIndex[, endIndex])
พารามิเตอร์:
startIndex- เริ่มดึงที่ Index นี้ (รวม) ถ้าเป็นลบ นับจากท้ายendIndex- หยุดดึงก่อน Index นี้ (ไม่รวม) ถ้าลบ นับจากท้าย ถ้าอมิต ดึงจนจบ
ตัวอย่าง 1: ระบุ Start และ End
<html> <body> <p id="demo"></p> <script>
var str = 'Tesla, Solarcity, Neuralink, SpaceX';
var newStr = str.slice(18, 27); // Index 18 ถึง 26
document.getElementById('demo').innerHTML = newStr;
</script> </body> </html>
ผลลัพธ์: Neuralink
ตัวอย่าง 2: ระบุ Start เท่านั้น
<script>
var str = 'Tesla, Solarcity, Neuralink, SpaceX';
var newStr = str.slice(18); // Index 18 ถึงจบ
document.write(newStr); // Neuralink, SpaceX
</script>
ตัวอย่าง 3: Negative Index (นับจากท้าย)
var str = 'Hello World';
str.slice(-5); // 'World' (5 ตัวท้าย)
str.slice(0, -6); // 'Hello' (ตัด 6 ตัวท้ายออก)
slice() vs substring() vs substr()
| Method | Negative Index | Swap Args | Deprecated |
|---|---|---|---|
| slice() | รองรับ | ไม่สลับ | ไม่ |
| substring() | แปลงเป็น 0 | สลับอัตโนมัติ | ไม่ |
| substr() | รองรับ (start) | - | ใช่ (Legacy) |
แนะนำ: ใช้ slice() เท่านั้น เพราะมาตรฐาน รองรับ Negative Index และไม่ Deprecated