สำหรับเมธอด 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"]