Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

มีวิธีให้ JavaScript split() เริ่มต้นที่ดัชนี 1 ได้ไหม?


ตาม 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"]