เรียนรู้วิธีเพิ่มรายการในตำแหน่งอาร์เรย์เฉพาะ (ดัชนี) ใน JavaScript
สมมติว่าคุณต้องการเพิ่มรายการในอาร์เรย์ แต่คุณไม่ต้องการผนวก (เพิ่มที่ส่วนท้าย) หรือเติมไว้ข้างหน้า (เพิ่มที่จุดเริ่มต้น) คุณต้องการเพิ่มรายการในตำแหน่ง/ตำแหน่งเฉพาะของอาร์เรย์
หมายเหตุ:เมื่อเราดำเนินการจัดการข้อมูลที่ตำแหน่ง/สถานที่เฉพาะ เรามักจะเรียกมันว่า ดัชนี ด้วย ดัชนีอาร์เรย์ เริ่มนับที่ 0
ซึ่งหมายความว่า:
0
คือ1
1
คือ2
- และอื่นๆ
ดังนั้น หากคุณมีอาร์เรย์ที่มี 5 รายการ และต้องการเข้าถึงรายการที่ 3 คุณจะต้องระบุเป็น 2
.
เอาล่ะ มาทำสิ่งที่คุณมาที่นี่กันเถอะ
ป้อนเมธอด splice()
ในการเพิ่มรายการในตำแหน่งดัชนีเฉพาะในอาร์เรย์ เราสามารถใช้ JavaScript array.splice()
อันทรงพลัง กระบวนการ. splice()
วิธีเพิ่มหรือลบรายการออกจากอาร์เรย์ได้
splice()
ไวยากรณ์มีลักษณะดังนี้:
array.splice(startIndex)
array.splice(startIndex, deleteCount)
array.splice(startIndex, deleteCount, value1)
splice()
วิธีรับ 3 อาร์กิวเมนต์ขึ้นไป:
- อาร์กิวเมนต์ 1:
startIndex
ซึ่งเป็นตำแหน่ง (ตำแหน่ง) ที่คุณต้องการเพิ่มบางสิ่ง - อาร์กิวเมนต์ 2:ทางเลือก
deleteCount
อาร์กิวเมนต์ที่คุณสามารถระบุจำนวนรายการที่คุณต้องการลบ (จากstartIndex
ตำแหน่ง) - อาร์กิวเมนต์ 3:ค่าไอเท็มใหม่ที่คุณต้องการเพิ่มในอาร์เรย์
ตัวอย่างการประกบเชิงปฏิบัติ ()
สมมติว่าเรามีรายชื่อนักแสดงจากภาพยนตร์แอคชั่นแนวแฟนตาซีเรื่อง “ถามคำถามภายหลัง” รายชื่อนักแสดงจะเรียงลำดับตามขนาดบทบาทในภาพยนตร์
นักแสดงคนหนึ่งจากทีมนักแสดงตัดสินใจที่จะโวยวายเพราะชื่อของเขาไม่ปรากฏในรายชื่อนักแสดงหลัก:
const mainCastList = [
"Michael Jai White",
"Jean-Claude Van Damme",
"Sigourney Weaver",
"Jason Statham",
"Uma Thurman"
"The Rock",
"Wesley Snipes"
]
และนักแสดงอารมณ์เสียไม่ใช่ใครอื่นนอกจากผู้ยิ่งใหญ่ Steven Seagal(!!) ที่ปรากฎตัวในหนังเรื่องนี้ 7 วินาที เพียงพอแล้วที่จะเอาชนะศัตรู 10 ตัวที่ไร้สติ คุณซีกัลเชื่อว่านี่เป็นเวลาที่หน้าจอเพียงพอที่จะทำให้เขาอยู่ในรายชื่อนักแสดงหลัก
แล้วใครจะเถียงกับสตีเวน ซีกัล?
เอาล่ะ มาเพิ่มเขาในรายการนักแสดงหลักโดยใช้ splice()
วิธีการและรูปแบบการโต้แย้งที่คุณเพิ่งเรียนรู้
เราจะเพิ่ม Steven Seagal เป็นนักแสดงคนที่ 2 ในรายชื่อนักแสดงหลัก ต่อจาก Michael Jai White (ฉันจะอธิบายว่าทำไมในอีกสักครู่):
const mainCastList = [
"Michael Jai White",
"Jean-Claude Van Damme",
"Sigourney Weaver",
"Jason Statham",
"Uma Thurman",
"The Rock",
"Wesley Snipes",
]
mainCastList.splice(1, 0, "Steven Seagal")
console.log(mainCastList)
// ["Michael Jai White", "Steven Seagal", "Jean-Claude Van Damme", "Sigourney Weaver", "Jason Statham", "Uma Thurman", "The Rock", "Wesley Snipes"]
ไปกันเถอะ Steven ฉันหวังว่าคุณจะมีความสุขในตอนนี้!
และเพียงเพราะการทำซ้ำเป็นส่วนสำคัญของการเรียนรู้ นี่คือสิ่งที่เกิดขึ้นในโค้ดด้านบน:
- เราแนบ
splice()
วิธีการmainCastList
ตัวแปร - จากนั้น เราใช้ 3 อาร์กิวเมนต์กับ
splice()
, ตำแหน่ง startIndex (1
)deleteCount
(0
=ไม่มีอะไรถูกลบ) และสุดท้าย รายการที่เราต้องการเพิ่มในตำแหน่งดัชนีนั้น ("Steven Seagal"
)
โอ้ และเหตุผลที่เราไม่สามารถเพิ่ม Mr. Seagal เป็นอันดับหนึ่งในรายการได้ก็คือ Michael Jai White จะเตะตูดเขาแน่นอน
ข้อควรรู้เกี่ยวกับวิธีการ splice()
เพิ่มรายการพร้อมกัน
หากคุณต้องการเพิ่มรายการพร้อมกัน ให้คั่นด้วยเครื่องหมายจุลภาค ดังนี้:
mainCastList.splice(1, 0, "Steven Seagal", "Sylvester Stallone")
ลบรายการทั้งหมดจาก startIndex
หากคุณไม่ผ่านอาร์กิวเมนต์ที่ 2 (ในตัวอย่างของเรา 0
) จากนั้น ทั้งหมด รายการจาก startIndex
ตำแหน่งจะถูกลบออกโดยค่าเริ่มต้น ดังนั้นโปรดใช้ความระมัดระวังเมื่อใช้ splice()
ในโครงการในชีวิตจริง
เริ่มจากส่วนท้ายของอาร์เรย์
หากคุณต้องการระบุตำแหน่งที่คุณต้องการเพิ่ม/ลบรายการจากจุดสิ้นสุดของอาร์เรย์แทนที่จะเป็นจุดเริ่มต้น ให้ใช้ ค่าลบ ใน splice()
. แรก อาร์กิวเมนต์เช่นนี้:
mainCastList.splice(-1, 0, "Steven Seagal")
console.log(mainCastList)
// ["Michael Jai White", "Jean-Claude Van Damme", "Sigourney Weaver", "Jason Statham", "Uma Thurman", "The Rock", "Steven Seagal", "Wesley Snipes"]
ตอนนี้คุณซีกัลอยู่อันดับที่ 2 ของรายชื่อนักแสดงหลัก ซึ่งเป็นการตัดสินใจที่กล้าหาญ คุณต้องรับความเสี่ยงเอง