unshift
ใช้ มันเป็นเหมือนpush
ยกเว้นจะเพิ่มองค์ประกอบไปยังจุดเริ่มต้นของอาร์เรย์แทนที่จะจบ
unshift
/ push
- เพิ่มองค์ประกอบไปยังจุดเริ่มต้น / จุดสิ้นสุดของอาร์เรย์
shift
/ pop
- ลบและกลับองค์ประกอบแรก / สุดท้ายของอาร์เรย์
แผนภาพอย่างง่าย ...
unshift -> array <- push
shift <- array -> pop
และแผนภูมิ:
add remove start end
push X X
pop X X
unshift X X
shift X X
ตรวจสอบเอกสารอาร์เรย์ MDN แทบทุกภาษาที่มีความสามารถในการผลัก / อิลิเมนต์ป๊อปจากอาเรย์จะมีความสามารถในการยกเลิกการเลื่อน / เปลี่ยน (บางครั้งเรียกว่าpush_front
/ pop_front
) องค์ประกอบคุณไม่ควรใช้สิ่งเหล่านี้ด้วยตนเอง
ตามที่ระบุไว้ในความคิดเห็นหากคุณต้องการหลีกเลี่ยงการกลายพันธุ์อาเรย์ดั้งเดิมของคุณคุณสามารถใช้concat
ซึ่งเชื่อมต่อกันสองอาร์เรย์หรือมากกว่าเข้าด้วยกัน คุณสามารถใช้ฟังก์ชันนี้เพื่อผลักองค์ประกอบเดียวไปยังด้านหน้าหรือด้านหลังของอาร์เรย์ที่มีอยู่ ในการทำเช่นนั้นคุณจะต้องเปลี่ยนองค์ประกอบใหม่เป็นอาร์เรย์องค์ประกอบเดียว:
const array = [ 3, 2, 1 ]
const newFirstElement = 4
const newArray = [newFirstElement].concat(array) // [ 4, 3, 2, 1 ]
concat
ยังสามารถต่อท้ายรายการ อาร์กิวเมนต์ที่concat
สามารถเป็นประเภทใดก็ได้ พวกเขาจะถูกห่อหุ้มโดยนัยในอาร์เรย์องค์ประกอบเดียวหากพวกเขายังไม่ได้อาร์เรย์:
const array = [ 3, 2, 1 ]
const newLastElement = 0
// Both of these lines are equivalent:
const newArray1 = array.concat(newLastElement) // [ 3, 2, 1, 0 ]
const newArray2 = array.concat([newLastElement]) // [ 3, 2, 1, 0 ]
push
คำสั่งตามด้วยการเรียกไปที่reverse
แทนที่จะเรียกunshift
ตลอดเวลา