อาร์เรย์อาร์เรย์
1. บทนำ
อาร์เรย์เป็นคอลเลกชันของค่าที่สั่งซื้อ แต่ละค่าเรียกว่าองค์ประกอบและแต่ละองค์ประกอบมีตำแหน่งในอาร์เรย์แสดงด้วยตัวเลขที่เรียกว่าดัชนี อาร์เรย์ JavaScript ไม่มีประเภท: องค์ประกอบอาร์เรย์สามารถเป็นประเภทใดก็ได้และองค์ประกอบที่แตกต่างกันในอาร์เรย์เดียวกันอาจมีประเภทที่แตกต่างกัน -"คู่มือผู้มีสิทธิ์ JavaScript (ฉบับที่หก)"
2. คำจำกัดความ
การคัดลอกรหัสมีดังนี้:
ชื่อ var = อาร์เรย์ใหม่ ("จางซาน", "Li Si", "Wang Wu");
//หรือ
ชื่อ var = ["Zhang San", "Li Si", "Wang Wu"];
3. คุณสมบัติ
ความยาว: แสดงถึงความยาวขององค์ประกอบในอาร์เรย์
4. ตัวอย่างวิธีการ
วิธีการทั่วไป:
1) Unshift (): แทรกองค์ประกอบที่หัวของอาร์เรย์
2) shift (): ลบและส่งคืนองค์ประกอบแรกของอาร์เรย์
3) push (): แทรกองค์ประกอบที่ส่วนท้ายของอาร์เรย์
4) pop (): ลบและส่งคืนองค์ประกอบสุดท้ายของอาร์เรย์
4.1 concat (): เชื่อมต่อองค์ประกอบกับอาร์เรย์ อาร์เรย์ดั้งเดิมจะไม่ได้รับการแก้ไขและอาร์เรย์ใหม่จะถูกส่งคืน
พารามิเตอร์:
①Value1, value2 ... Valuen: จำนวนของค่าใด ๆ
ค่าส่งคืน:
{array} อาร์เรย์ใหม่ที่มีอาร์เรย์ดั้งเดิมและองค์ประกอบที่เพิ่มใหม่
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = ['a', 'b', 'c'];
var demoarray2 = demoarray.concat ('e');
console.log (สาธิต); // => การสาธิต: ['A', 'B', 'C'] อาร์เรย์ดั้งเดิมไม่เปลี่ยนแปลง
console.log (DemoArray2); // => ['A', 'B', 'C', 'E']
4.2 ทุก (): สำรวจองค์ประกอบในทางกลับกันเพื่อพิจารณาว่าแต่ละองค์ประกอบเป็นจริง
พารามิเตอร์:
①ฟังก์ชั่น (ค่า, ดัชนี, ตนเอง) {}: แต่ละองค์ประกอบจะใช้ฟังก์ชันนี้เพื่อพิจารณาว่ามันเป็นจริงหรือไม่ เมื่อมีการตัดสินว่าเป็นเท็จการสำรวจจะสิ้นสุดลงทันที
ค่า: องค์ประกอบของอาร์เรย์สำรวจ
ดัชนี: หมายเลของค์ประกอบ
ตัวเอง: อาร์เรย์เอง
ค่าส่งคืน:
{บูลีน}: ส่งคืนจริงเฉพาะในกรณีที่แต่ละองค์ประกอบเป็นจริง หากเป็นเท็จให้ส่งคืนเท็จ
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = [1, 2, 3];
var rs = demoArray.every (ฟังก์ชั่น (ค่า, ดัชนี, ตนเอง) {
ค่าส่งคืน> 0;
-
console.log (RS); // => จริง
4.3 ตัวกรอง (): สำรวจองค์ประกอบในทางกลับกันและส่งคืนอาร์เรย์ใหม่ที่มีองค์ประกอบที่ตรงตามเกณฑ์
พารามิเตอร์:
①ฟังก์ชั่น (ค่า, ดัชนี, ตนเอง) {}: แต่ละองค์ประกอบเรียกฟังก์ชั่นนี้ในทางกลับกันคืนอาร์เรย์ใหม่ที่มีองค์ประกอบที่ตรงตามเกณฑ์
ค่า: องค์ประกอบของอาร์เรย์สำรวจ
ดัชนี: หมายเลของค์ประกอบ
ตัวเอง: อาร์เรย์เอง
ค่าส่งคืน:
{array} อาร์เรย์ใหม่ที่มีองค์ประกอบที่ตรงกับเกณฑ์
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = [1, 2, 3];
var rs = demoarray.filter (ฟังก์ชั่น (ค่า, ดัชนี, ตัวเอง) {
ค่าส่งคืน> 0;
-
console.log (RS); // => [1, 2, 3]
4.4 foreach (): องค์ประกอบการสำรวจตามลำดับและดำเนินการฟังก์ชันที่ระบุ; ไม่มีค่าส่งคืน
พารามิเตอร์:
①ฟังก์ชัน (ค่า, ดัชนี, ตนเอง) {}: แต่ละองค์ประกอบเรียกฟังก์ชันนี้ในทางกลับกัน
ค่า: องค์ประกอบของอาร์เรย์สำรวจ
ดัชนี: หมายเลของค์ประกอบ
ตัวเอง: อาร์เรย์เอง
ค่าส่งคืน: ไม่มี
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = [1, 2, 3];
demoarray.foreach (ฟังก์ชั่น (ค่า, ดัชนี, ตนเอง) {
console.log (ค่า); // => เอาต์พุตตามลำดับ: 1 2 3
-
4.5 ดัชนี (): ค้นหาองค์ประกอบการจับคู่ในอาร์เรย์ หากไม่มีองค์ประกอบที่ตรงกันกลับ -1 ใช้ตัวดำเนินการ "===" เมื่อค้นหาดังนั้นคุณต้องแยกแยะระหว่าง 1 ถึง '1'
พารามิเตอร์:
①ค่า: ค่าที่จะพบในอาร์เรย์
②เริ่มต้น: ตำแหน่งหมายเลขซีเรียลที่เริ่มค้นหาหากละเว้นมันคือ 0
ค่าส่งคืน:
{int}: ส่งคืนค่าการจับคู่แรกในอาร์เรย์ หากไม่มีอยู่ให้ส่งคืน -1
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
['a', 'b', 'c']. indexof ('a'); // => 0
['a', 'b', 'c']. indexof ('a', 1); // =>-1
['a', 'b', 'c']. indexof ('d'); // =>-1
[1, 2, 3] .indexof ('1'); // => -1: วิธีการจับคู่ '===' ที่ใช้
4.6 เข้าร่วม (): ประกบองค์ประกอบทั้งหมดในอาร์เรย์ลงในสตริงผ่านตัวคั่น
พารามิเตอร์:
①Sparator {String}: ตัวคั่นระหว่างแต่ละองค์ประกอบ หากละเว้นจะถูกคั่นด้วยเครื่องหมายจุลภาคภาษาอังกฤษ 'โดยค่าเริ่มต้น
ค่าส่งคืน:
{String}: สตริงที่ประกบกันโดยแต่ละองค์ประกอบที่มี sparator เป็นตัวคั่น
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
['A', 'B', 'C']. เข้าร่วม (); // => 'A, B, C'
['A', 'B', 'C']. เข้าร่วม ('-'); // => 'ab-c'
4.7 LastIndexof: ค้นหาองค์ประกอบการจับคู่ย้อนกลับในอาร์เรย์ หากไม่มีองค์ประกอบที่ตรงกันกลับ -1 ใช้ตัวดำเนินการ "===" เมื่อค้นหาดังนั้นคุณต้องแยกแยะระหว่าง 1 ถึง '1'
พารามิเตอร์:
①ค่า: ค่าที่จะพบในอาร์เรย์
②เริ่ม: ตำแหน่งของหมายเลขลำดับที่เริ่มค้นหา หากละเว้นให้เริ่มค้นหาจากองค์ประกอบสุดท้าย
ค่าส่งคืน:
{int}: เริ่มค้นหาค่าการจับคู่แรกในอาร์เรย์จากขวาไปซ้าย หากไม่มีอยู่ให้ส่งคืน -1
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
['A', 'B', 'C']. LastIndexof ('A'); // => 0
['a', 'b', 'c']. lastindexof ('a', 1); // => 0
['A', 'B', 'C']. LastIndexof ('D'); // => -1
[1, 2, 3] .lastindexof ('1'); // => -1: วิธีการจับคู่ '===' ที่ใช้
4.8 MAP (): วนซ้ำและคำนวณแต่ละองค์ประกอบตามลำดับและส่งคืนอาร์เรย์ขององค์ประกอบที่คำนวณได้
พารามิเตอร์:
①ฟังก์ชัน (ค่า, ดัชนี, ตนเอง) {}: แต่ละองค์ประกอบเรียกฟังก์ชันนี้เพื่อกลับองค์ประกอบที่คำนวณได้
ค่า: องค์ประกอบของอาร์เรย์สำรวจ
ดัชนี: หมายเลของค์ประกอบ
ตัวเอง: อาร์เรย์เอง
ค่าส่งคืน:
{array} อาร์เรย์ใหม่ที่มีองค์ประกอบที่ดีแม้
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
[1, 2, 3] .map (ฟังก์ชัน (ค่า, ดัชนี, ตนเอง) {
ค่าส่งคืน * 2;
- // => [2, 4, 6]
4.9 pop (): ลบและส่งคืนองค์ประกอบสุดท้ายของอาร์เรย์
พารามิเตอร์: ไม่มี
ค่าส่งคืน:
{Object} องค์ประกอบสุดท้ายของอาร์เรย์; หากอาร์เรย์ว่างเปล่าให้ส่งคืนที่ไม่ได้กำหนด
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = ['a', 'b', 'c'];
demoarray.pop (); // => c
demoarray.pop (); // => b
demoarray.pop (); // => a
demoarray.pop (); // => ไม่ได้กำหนด
4.10 push (): เพิ่มองค์ประกอบในตอนท้ายของอาร์เรย์
พารามิเตอร์:
①Value1, value2 ... valuen: เพิ่มจำนวนของค่าใด ๆ ลงไปที่ส่วนท้ายของอาร์เรย์
ค่าส่งคืน:
{int} ความยาวใหม่ของอาร์เรย์
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = ['a', 'b', 'c'];
demoarray.push ('d'); // => 4, การสาธิต: ['A', 'B', 'C', 'D']
demoarray.push ('e', 'f'); // => 6, การสาธิต: ['A', 'B', 'C', 'D', 'E', 'F']
console.log (สาธิต); // => ['A', 'B', 'C', 'D', 'E', 'F']
4.11 Reverse (): กลับลำดับขององค์ประกอบอาร์เรย์
พารามิเตอร์: ไม่มี
ค่าส่งคืน: ไม่มี (คำสั่งอินเวอร์เมอร์ในอาร์เรย์ดั้งเดิม)
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
DemoArray.Reverse ();
console.log (สาธิต); // => ["E", "D", "C", "B", "A"]
4.12 shift (): ลบและส่งคืนองค์ประกอบแรกของอาร์เรย์
พารามิเตอร์: ไม่มี
ค่าส่งคืน:
{Object} องค์ประกอบแรกของอาร์เรย์; หากอาร์เรย์ว่างเปล่าจะถูกส่งคืน
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = ['a', 'b', 'c'];
demoarray.shift (); // => a
demoarray.shift (); // => b
demoarray.shift (); // => c
demoarray.shift (); // => ไม่ได้กำหนด
4.13 Slice (StartIndex, EndIndex): ส่งคืนส่วนหนึ่งของอาร์เรย์
พารามิเตอร์:
① StartIndex: หมายเลขลำดับที่จุดเริ่มต้น; หากเป็นจำนวนลบก็หมายความว่าการคำนวณเริ่มต้นจากจุดสิ้นสุด -1 หมายถึงองค์ประกอบสุดท้าย -2 เป็นครั้งที่สองถึงสุดท้ายและอื่น ๆ
②endIndex: หมายเลขลำดับสุดท้ายขององค์ประกอบในตอนท้ายหากไม่ได้ระบุจุดสิ้นสุดคือจุดสิ้นสุด องค์ประกอบที่สกัดกั้นไม่มีองค์ประกอบที่มีหมายเลขลำดับที่นี่และการสิ้นสุดคือองค์ประกอบก่อนหน้านี้ที่มีหมายเลขลำดับที่นี่
ค่าส่งคืน:
{array} อาร์เรย์ใหม่ที่มีองค์ประกอบทั้งหมดจาก startIndex ไปยังองค์ประกอบก่อนหน้าของ endindex
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
[1, 2, 3, 4, 5, 6] .slice (); // => [1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6] .slice (1); // => [2, 3, 4, 5, 6]: เริ่มต้นจากหมายเลขซีเรียล 1
[1, 2, 3, 4, 5, 6] .slice (0, 4); // => [1, 2, 3, 4]: สกัดกั้นองค์ประกอบของหมายเลขซีเรียล 0 ถึงหมายเลขซีเรียล 3 (หนึ่งในซีเรียลหมายเลขหนึ่งก่อนหน้า 4)
[1, 2, 3, 4, 5, 6] .slice (-2); // => [5, 6]: สกัดกั้น 2 องค์ประกอบถัดไป
4.14 Sort (opt_orderfunc): เรียงลำดับตามกฎบางอย่าง
พารามิเตอร์:
① opt_orderfunc (v1, v2) {function}: ฟังก์ชั่นกฎการเรียงลำดับที่เป็นตัวเลือก หากละเว้นตัวอักษรขององค์ประกอบจะถูกจัดเรียงจากขนาดเล็กถึงใหญ่
V1: องค์ประกอบก่อนหน้านี้ถูกสำรวจ
V2: องค์ประกอบต่อไปนี้ถูกสำรวจ
กฎการเรียงลำดับ:
เปรียบเทียบ V1 และ V2 และส่งคืนตัวเลขเพื่อแสดงกฎการเรียงลำดับของ V1 และ V2:
น้อยกว่า 0: V1 น้อยกว่า V2, V1 อยู่ข้างหน้า V2
เท่ากับ 0: V1 เท่ากับ V2, V1 อยู่ข้างหน้าของ V2
มากกว่า 0: V1 มากกว่า V2, V1 อยู่ด้านหลัง V2
ค่าส่งคืน: ไม่มี (การเรียงลำดับการดำเนินการในอาร์เรย์ดั้งเดิม)
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
[1, 3, 5, 2, 4, 11, 22] .sort (); // => [1, 11, 2, 22, 3, 4, 5]: องค์ประกอบทั้งหมดจะถูกแปลงเป็นอักขระและตัวละครของ 11 อยู่ก่อน 2
[1, 3, 5, 2, 4, 11, 22] .sort (ฟังก์ชั่น (v1, v2) {
กลับ v1 - v2;
- // => [1, 2, 3, 4, 5, 11, 22]: เรียงลำดับจากขนาดเล็กถึงใหญ่
[1, 3, 5, 2, 4, 11, 22] .sort (ฟังก์ชั่น (v1, v2) {
return - (v1 - v2); // ผกผันคุณสามารถแปลงจากขนาดใหญ่เป็นขนาดเล็ก
- // => [22, 11, 5, 4, 3, 2, 1]
4.15 Splice (): แทรกและลบองค์ประกอบอาร์เรย์
พารามิเตอร์:
①เริ่ม {int}: หมายเลขลำดับเริ่มต้นเพื่อเริ่มการแทรกลบหรือเปลี่ยน
②deletecount {int}: จำนวนองค์ประกอบที่จะลบเริ่มการคำนวณเริ่มตั้งแต่เริ่มต้น
③Value1, value2 ... Valuen {Object}: พารามิเตอร์เสริมแสดงองค์ประกอบที่จะแทรกและเริ่มแทรกตั้งแต่เริ่มต้น หากพารามิเตอร์②ไม่ใช่ 0 ให้ดำเนินการลบก่อนจากนั้นทำการดำเนินการแทรก
ค่าส่งคืน:
{array} ส่งคืนอาร์เรย์ใหม่ที่มีองค์ประกอบที่ถูกลบ หากพารามิเตอร์②คือ 0 นั่นหมายความว่าไม่มีการลบองค์ประกอบและอาร์เรย์ที่ว่างเปล่าจะถูกส่งคืน
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
// 1. ลบ
var demoarray = ['a', 'b', 'c', 'd', 'e'];
var demoarray2 = demoarray.splice (0, 2); // ลบ 2 องค์ประกอบเริ่มต้นจาก 0 จากหมายเลขลำดับและส่งคืนอาร์เรย์ที่มีองค์ประกอบที่ถูกลบ: ['A', 'B']
console.log (DemoArray2); // => ['A', 'B']
console.log (สาธิต); // => ['C', 'D', 'E']
// 2. แทรก
var demoarray = ['a', 'b', 'c', 'd', 'e'];
var demoarray2 = demoarray.splice (0, 0, '1', '2', '3'); // ②พารามิเตอร์คือ 0 ส่งคืนอาร์เรย์ที่ว่างเปล่า
console.log (DemoArray2); -
console.log (สาธิต); // => ['1', '2', '3', 'A', 'B', 'C', 'D', 'E']
// 3. ลบก่อนแล้วแทรก
var demoarray = ['a', 'b', 'c', 'd', 'e'];
// เมื่อพารามิเตอร์②ไม่ใช่ 0 จากนั้นทำการลบการดำเนินการก่อน (ลบ 4 องค์ประกอบที่มีหมายเลขลำดับเริ่มต้นจาก 0 ให้ส่งคืนอาร์เรย์ที่มีองค์ประกอบที่ถูกลบ) จากนั้นดำเนินการแทรกการแทรก
var demoarray2 = demoarray.splice (0, 4, '1', '2', '3');
console.log (DemoArray2); // => ['A', 'B', 'C', 'D']
console.log (สาธิต); // => ['1', '2', '3', 'A', 'B', 'C', 'D', 'E']
4.16 TOSTRING (): เย็บองค์ประกอบทั้งหมดในอาร์เรย์เป็นสตริงผ่านเครื่องหมายจุลภาคภาษาอังกฤษ ','
พารามิเตอร์: ไม่มี
ค่าส่งคืน:
{String} องค์ประกอบทั้งหมดในอาร์เรย์จะถูกเชื่อมต่อเป็นสตริงโดยเครื่องหมายจุลภาคภาษาอังกฤษ 'และกลับมา เช่นเดียวกันคือการเรียกวิธีการเข้าร่วม () โดยไม่มีพารามิเตอร์
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
[1, 2, 3, 4, 5] .tostring (); // => '1,2,3,4,5'
['A', 'B', 'C', 'D', 'E']. TOSTRING (); // => 'a, b, c, d, e'
4.17 Unshift (): แทรกองค์ประกอบที่หัวของอาร์เรย์
พารามิเตอร์:
①Value1, value2 ... valuen: เพิ่มจำนวนของค่าใด ๆ ลงในส่วนหัวของอาร์เรย์
ค่าส่งคืน:
{int} ความยาวใหม่ของอาร์เรย์
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = [];
demoarray.unshift ('a'); // => การสาธิต: ['A']
DemoArray.unshift ('B'); // => การสาธิต: ['b', 'a']
DemoArray.unshift ('C'); // => การสาธิต: ['C', 'B', 'A']
DemoArray.unshift ('D'); // => การสาธิต: ['D', 'C', 'B', 'A']
DemoArray.unshift ('E'); // => การสาธิต: ['e', 'd', 'c', 'b', 'a']
5. วิธีการคงที่
5.1 array.isarray (): กำหนดว่าวัตถุนั้นเป็นอาร์เรย์
พารามิเตอร์:
①Value {Object}: วัตถุใด ๆ
ค่าส่งคืน:
{บูลีน} ส่งคืนผลการตัดสิน เมื่อเป็นจริงหมายความว่าวัตถุนั้นเป็นอาร์เรย์ เมื่อเท็จหมายความว่าวัตถุนั้นไม่ใช่อาร์เรย์
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
array.isarray ([]); // => จริง
array.isarray (['a', 'b', 'c']); // => จริง
array.isarray ('a'); // => เท็จ
array.isarray ('[1, 2, 3]'); // => เท็จ
6. การปฏิบัติงานจริง
6.1 ดัชนี
คำอธิบาย: แต่ละองค์ประกอบมีตำแหน่งในอาร์เรย์แสดงโดยตัวเลขที่เรียกว่าดัชนี ดัชนีเริ่มต้นจาก 0 นั่นคือดัชนีขององค์ประกอบแรกคือ 0, ดัชนีขององค์ประกอบที่สองคือ 1 และอื่น ๆ ;
เมื่อได้รับดัชนีที่ไม่มีอยู่ในอาร์เรย์ที่ไม่ได้กำหนดจะถูกส่งคืน
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
การสาธิต [0]; // => รับองค์ประกอบแรก: 'A'
การสาธิต [0] = 1; // ตั้งค่าองค์ประกอบแรกเป็น 1
console.log (สาธิต); // => การสาธิต: [1, 'b', 'c', 'd', 'e']
console.log (สาธิต [9]); // => undefined: return undefined เมื่อไม่มีดัชนีที่ได้รับ
6.2 สำหรับข้อความ
หมายเหตุ: คุณสามารถสำรวจอาร์เรย์หนึ่งต่อหนึ่งผ่านคำสั่งสำหรับสำหรับ
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
สำหรับ (var i = 0, length = demoarray.length; i <length; i ++) {
console.log (ตัวอย่าง [i]); // => องค์ประกอบเอาต์พุตในอาร์เรย์ทีละตัว
-
6.3 สำเนาตื้น
หมายเหตุ: ประเภทอาร์เรย์เป็นประเภทอ้างอิง เมื่ออาเรย์ A ถูกคัดลอกไปยังอาร์เรย์ B การปรับเปลี่ยนองค์ประกอบจะทำเพื่ออาร์เรย์ B และอาเรย์ A จะถูกแก้ไขด้วย
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarraya = ['a', 'b', 'c', 'd', 'e'];
var demoarrayb = demoarraya; // กำหนดอาร์เรย์ a ให้อาร์เรย์ b
DemoArrayb [0] = 1; // แก้ไของค์ประกอบของอาร์เรย์ B
console.log (demoarraya); // => [1, 'b', 'c', 'd', 'e']: องค์ประกอบของอาร์เรย์ A เปลี่ยนไปเช่นกัน
6.4 สำเนาลึก
หมายเหตุ: ใช้เมธอด concat () เพื่อส่งคืนอาร์เรย์ใหม่; ป้องกันการคัดลอกตื้นดำเนินการปรับเปลี่ยนองค์ประกอบในอาร์เรย์ B และอาร์เรย์ A จะไม่เปลี่ยนแปลง
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var demoarraya = ['a', 'b', 'c', 'd', 'e'];
var demoarrayb = demoarraya.concat (); // ใช้เมธอด concat () เพื่อส่งคืนอาร์เรย์ใหม่
DemoArrayb [0] = 1; // แก้ไของค์ประกอบของอาร์เรย์ B
console.log (demoarraya); // => ['a', 'b', 'c', 'd', 'e']: องค์ประกอบของอาร์เรย์ A ไม่เปลี่ยนแปลง
console.log (demoarrayb); // => [1, 'b', 'c', 'd', 'e']: องค์ประกอบของอาร์เรย์ B เปลี่ยนไป