เมธอด shift() ของ JavaScript ใช้สำหรับ นำองค์ประกอบแรกออกจากอาร์เรย์ และคืนค่าองค์ประกอบที่ถูกนำออก อาร์เรย์เดิมจะถูกแก้ไขโดยตรง (mutate) และความยาวลดลง 1
ไวยากรณ์ (Syntax)
array.shift()
ตัวอย่างการใช้งาน
ตัวอย่างที่ 1: การใช้งานพื้นฐาน
<!DOCTYPE html>
<html>
<body>
<h2>ตัวอย่าง shift()</h2>
<p id="demo"></p>
<script>
const arrStud = ["Laptop", "Desktop", "Tablet"];
document.getElementById("demo").innerHTML =
"อาร์เรย์เริ่มต้น = " + arrStud + "<br>" +
"องค์ประกอบที่ถูกนำออก = " + arrStud.shift() + "<br>" +
"อาร์เรย์หลัง shift = " + arrStud;
</script>
</body>
</html>
ตัวอย่างที่ 2: ใช้กับปุ่มกด
<!DOCTYPE html>
<html>
<body>
<h2>รูปแบบรถยนต์</h2>
<button onclick="display()">นำองค์ประกอบแรกออก</button>
<p id="demo"></p>
<script>
const car = ["Hatchback", "Convertible", "SUV", "AUV", "MUV"];
document.getElementById("demo").innerHTML = "อาร์เรย์เริ่มต้น = " + car;
function display() {
car.shift();
document.getElementById("demo").innerHTML =
"อาร์เรย์หลังนำองค์ประกอบแรกออก = " + car;
}
</script>
</body>
</html>
คุณสมบัติสำคัญ
- เปลี่ยนแปลงอาร์เรย์ต้นฉบับ (mutates original array)
- คืนค่าองค์ประกอบที่ถูกนำออก (หรือ
undefinedหากอาร์เรย์ว่าง)
<ดัชนีขององค์ประกอบที่เหลือจะเลื่อนลงมาทีละ 1
- ประสิทธิภาพ: O(n) เนื่องจากต้อง re-index ทุกองค์ประกอบ
เปรียบเทียบกับเมธอดอื่นๆ
| เมธอด | การกระทำ | คืนค่า | Mutate? |
|---|---|---|---|
shift() | นำออกด้านหน้า | องค์ประกอบที่นำออก | ใช่ |
pop() | นำออกด้านหลัง | องค์ประกอบที่นำออก | ใช่ |
slice(1) | คัดลอกตั้งแต่ดัชนี 1 | อาร์เรย์ใหม่ | ไม่ |