ตาม String.prototype.split() อย่างเป็นทางการ ไม่มีวิธีเริ่มแยกสตริงจากดัชนี 1 หรือดัชนี n ใดๆ ได้โดยตรง แต่ด้วยการปรับวิธีใช้ split() เล็กน้อย เราสามารถทำได้
เราใช้แนวทางดังนี้ −
สร้างอาร์เรย์ 2 ตัว −
- อาร์เรย์ที่แยกจาก 0 ถึงสุดท้าย --- ACTUAL
- อาร์เรย์ที่แยกจาก 0 ถึง START POSITION --- LEFTOVER
จากนั้นวนลูปแต่ละสมาชิกของ Leftover และ splice ออกจาก Actual Array ดังนั้น Actual Array จะเหลือเพียงส่วนที่แยกจาก START INDEX ถึง END
ตัวอย่าง
const string = 'The quick brown fox jumped over the wall'; const returnSplittedArray = (str, startPosition, seperator=" ") => { const leftOver = str.split(seperator, startPosition); const actual = str.split(seperator); leftOver.forEach(left => { actual.splice(actual.indexOf(left), 1); }) return actual; } console.log(returnSplittedArray(string, 5, " "));ผลลัพธ์
["over", "the", "wall"]