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

วิธีเพิ่ม Item เข้า Array ใน JavaScript (Append)

เมธอด push() - วิธีมาตรฐาน

Array.push() เพิ่ม Element หนึ่งหรือหลายตัวที่ ท้าย Array คืนค่า Length ใหม่ Mutate Original

ตัวอย่างโค้ด

<html>
<body>
  <script>
    var arr = ["marketing", "technical", "finance", "sales"];
    arr.push("HR");
    document.write(arr);
  </script>
</body>
</html>

ผลลัพธ์

marketing,technical,finance,sales,HR

รายละเอียด

  • เพิ่มที่ Index = Length (ท้าย Array)
  • เพิ่มหลาย Item พร้อมกันได้: arr.push('a', 'b', 'c')
  • คืนค่า Length ใหม่ (Number)
  • Mutate Original Array

วิธีอื่นๆ

1. การกำหนด Index โดยตรง (ไม่แนะนำสำหรับ Append)

arr[arr.length] = "HR"; // ทำงานได้แต่ Verbose

2. Spread Operator (Immutable - ES6+)

const newArr = [...arr, "HR"]; // Array ใหม่

3. concat() (Immutable)

const newArr = arr.concat(["HR"]);

4. splice() (Mutate - Insert ที่ตำแหน่งใดๆ)

arr.splice(arr.length, 0, "HR"); // เทียบเท่า push

ตารางเปรียบเทียบ

วิธี Mutate? คืนค่า Performance
push()ใช่New LengthO(1) Amortized - เร็วที่สุด
arr[length] = xใช่ValueO(1)
[...arr, x]ไม่New ArrayO(n)
concat([x])ไม่New ArrayO(n)

ข้อควรระวัง

  • push() เร็วที่สุดสำหรับการ Append ท้าย Array
  • คืนค่า Length ไม่ใช่ Array: const newArr = arr.push(x) ผิด! จะได้ Number
  • ใช้กับ Array-like Objects ได้: Array.prototype.push.call(obj, val)

สรุป

push() เป็นวิธีมาตรฐานและเร็วที่สุดในการ Append Item เข้า Array Mutate ต้นฉบับ คืนค่า Length สำหรับ Immutable Pattern ใช้ Spread Operator [...arr, newItem]