Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เป็นไปได้ไหมที่จะมีการแยก JavaScript () เริ่มต้นที่ดัชนี 1


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