สำหรับเมธอด String.prototype.split() อย่างเป็นทางการ ไม่มีทางที่จะแยกสตริงออกจากดัชนี 1 หรือสำหรับทั่วไปจากดัชนี n ใดๆ แต่ด้วยการปรับแต่งเล็กน้อยในวิธีที่เราใช้ split() เราจึงสามารถใช้ฟังก์ชันนี้ได้
เราปฏิบัติตามแนวทางต่อไปนี้ −
เราจะสร้างสองอาร์เรย์ -
- อันที่แยกจาก 0 ไปสิ้นสุด --- จริง
- วินาทีที่แยกจาก 0 ถึง STARTPOSITION --- LEFTOVER
ตอนนี้ เราวนซ้ำแต่ละองค์ประกอบของที่เหลือและประกบจากอาร์เรย์จริง ดังนั้น อาร์เรย์จริงจะถูกแยกจาก STARTINDEX เป็น 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"]