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

เมธอด Array.shift() ใน JavaScript: การนำองค์ประกอบแรกออกจากอาร์เรย์

เมธอด 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อาร์เรย์ใหม่ไม่