ตรวจสอบว่าวัตถุเป็นอาร์เรย์หรือไม่: อินสแตนซ์, array.isarray ()
สำหรับหน้าเว็บหรือขอบเขตส่วนกลางให้ใช้ตัวดำเนินการอินสแตนซ์ของ
ถ้า (อินสแตนซ์ค่าของอาร์เรย์) {// ตัดสินว่าค่าเป็นอาร์เรย์หรือไม่
-
อินสแตนซ์ของตัวดำเนินการจะสันนิษฐานว่ามีเพียงหนึ่งสภาพแวดล้อมการดำเนินการทั่วโลกและหากหน้าเว็บมีหลายเฟรมเวิร์กให้ใช้เมธอด array.isarray () ใหม่ที่เพิ่มโดย ECMAScript5
if (array.isarray (ค่า)) {// ตัดสินว่าค่านั้นเป็นอาร์เรย์
-
เบราว์เซอร์ที่รองรับโดยวิธี array.isarray () รวมถึง IE9+, Firefor 4+, Safari5+, Opera 10.5+ และ Chrome
หากคุณต้องการตรวจสอบอาร์เรย์ในเบราว์เซอร์ที่ไม่ได้ใช้วิธีนี้ให้ใช้:
if (object.prototype.toString.call (value) == "[อาร์เรย์วัตถุ]") {
-
แปลงอาร์เรย์เป็นสตริง: tolocalestring (), toString (), valueof (), เข้าร่วม ()
การคัดลอกรหัสมีดังนี้:
var test = ['a', 'b', 'c'];
การแจ้งเตือน (test.toString ()); // a, b, c
การแจ้งเตือน (test.tolocalestring ()); // a, b, c
การแจ้งเตือน (test.valueof ()); // a, b, c
การแจ้งเตือน (ทดสอบ); // a, b, c เรียกเมธอด toString () โดยค่าเริ่มต้น
Alert (test.oin (',')); // a, b, c
การแจ้งเตือน (test.oin ('|')); // a | b | c
เพิ่มและลบวิธีการองค์ประกอบอาร์เรย์: push (), pop (), unshift (), shift ()
เมธอด push () สามารถยอมรับพารามิเตอร์จำนวนใดก็ได้เพิ่มทีละหนึ่งไปยังจุดสิ้นสุดของอาร์เรย์และส่งคืนความยาวของอาร์เรย์ที่แก้ไข
เมธอด POP () จะลบรายการสุดท้ายออกจากจุดสิ้นสุดของอาร์เรย์และส่งคืนรายการที่ลบออก
วิธี Unshift () เพิ่มจำนวนพารามิเตอร์ใด ๆ ที่ปลายด้านหน้าของอาร์เรย์และส่งคืนความยาวอาร์เรย์ใหม่
เมธอด shift () สามารถลบรายการแรกในอาร์เรย์และส่งคืนรายการที่ลบออก
การคัดลอกรหัสมีดังนี้:
test var = [];
var count = test.push ('a', 'b'); // เพิ่มทีละหนึ่งจากปลายอาร์เรย์
count = test.push ('C');
การแจ้งเตือน (นับ); // 3
การแจ้งเตือน (ทดสอบ); //
var item = test.pop ();
การแจ้งเตือน (รายการ); // c
การแจ้งเตือน (test.length); // 2
วิธีการเรียงลำดับ: reverse () และ sort ()
วิธีการย้อนกลับ () จะกลับรายการรายการอาร์เรย์และใช้งานอาร์เรย์เอง
วิธีการเรียงลำดับ () จัดเรียงรายการอาร์เรย์ตามลำดับจากน้อยไปหามากขึ้นโดยค่าเริ่มต้นและทำงานบนอาร์เรย์เอง
การคัดลอกรหัสมีดังนี้:
การทดสอบ var = [1,2,3,4,5];
test.reverse ();
การแจ้งเตือน (ทดสอบ); // 5,4,3,2,1
var test2 = [0,1,5,10,15];
test2.sort ();
การแจ้งเตือน (test2); // 0,1,10,15,5 วิธีการเรียงลำดับ () จะเรียกวิธีการ toString () ของแต่ละรายการอาร์เรย์เปรียบเทียบสตริงเพื่อกำหนดเรียงลำดับ ดังนั้นการเรียงลำดับที่นี่คือการจัดเรียงสตริง
วิธีการเรียงลำดับ () ยังสามารถผ่านฟังก์ชั่นเปรียบเทียบได้
ฟังก์ชั่นการเปรียบเทียบจะส่งคืนหมายเลขลบหากพารามิเตอร์แรกควรเป็นก่อนที่สองและจำนวนบวกหากพารามิเตอร์ทั้งสองเท่ากัน
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นเปรียบเทียบ (ค่า 1, value2) {
if (value1 <value2) {
กลับ -1;
} อื่นถ้า (value1> value2) {
กลับ 1;
}อื่น{
กลับ 0;
-
-
การทดสอบ var = [0,1,5,10,15];
test.sort (เปรียบเทียบ);
การแจ้งเตือน (ทดสอบ); // 0,1,5,10,15
วิธีการทำงาน: concat (), slice (), splice ()
วิธีการ concat () ใช้เพื่อเชื่อมต่อสองอาร์เรย์ขึ้นไป วิธีนี้ไม่ได้เปลี่ยนอาร์เรย์ที่มีอยู่ แต่จะส่งคืนสำเนาของอาร์เรย์ที่เข้าร่วมเท่านั้น ส่งคืนอาร์เรย์ใหม่
การคัดลอกรหัสมีดังนี้:
var a = [1,2,3];
การแจ้งเตือน (A.Concat (4,5)); // 1,2,3,4,5
var arr = อาร์เรย์ใหม่ (3)
arr [0] = "จอร์จ"
arr [1] = "John"
arr [2] = "Thomas"
var arr2 = อาร์เรย์ใหม่ (3)
arr2 [0] = "เจมส์"
arr2 [1] = "adrew"
arr2 [2] = "Martin"
การแจ้งเตือน (arr.concat (arr2));
// George, John, Thomas, James, Adrew, Martin
var arr = อาร์เรย์ใหม่ (3)
arr [0] = "จอร์จ"
arr [1] = "John"
arr [2] = "Thomas"
var arr2 = อาร์เรย์ใหม่ (3)
arr2 [0] = "เจมส์"
arr2 [1] = "adrew"
arr2 [2] = "Martin"
var arr3 = อาร์เรย์ใหม่ (2)
arr3 [0] = "วิลเลียม"
arr3 [1] = "แฟรงคลิน"
การแจ้งเตือน (arr.concat (arr2, arr3))
// George, John, Thomas, James, Adrew, Martin, William, Franklin
เมธอด slice () ส่งคืนองค์ประกอบที่เลือกจากอาร์เรย์ที่มีอยู่ ส่งคืนอาร์เรย์ใหม่ที่มีองค์ประกอบใน ArrayObject ตั้งแต่ต้นจนจบ (ไม่รวมองค์ประกอบนี้)
การคัดลอกรหัสมีดังนี้:
var test = ['a', 'b', 'c', 'd', 'e'];
var arr1 = test.slice (1);
var arr2 = test.slice (1,4);
การแจ้งเตือน (arr1); // b, c, d, e
การแจ้งเตือน (arr2); // b, c, d
เมธอด Splice () เพิ่ม/ลบรายการไปที่/จากอาร์เรย์และส่งคืนรายการที่ถูกลบ อาร์เรย์เอง
พารามิเตอร์แรก: ตำแหน่งเริ่มต้นพารามิเตอร์ที่สอง: จำนวนของการสกัดกั้นพารามิเตอร์ที่สาม: องค์ประกอบใหม่ที่เพิ่มเข้ามา
การคัดลอกรหัสมีดังนี้:
//ลบ
var test = ['a', 'b', 'c'];
var refided = test.splice (0,1) // ลบรายการแรก
การแจ้งเตือน (ทดสอบ); // B, C
การแจ้งเตือน (ลบ); // a ส่งคืนรายการที่ถูกลบ
//แทรก
var test2 = ['a', 'b', 'c'];
var ลบ 2 = test2.splice (1,0, 'd', 'e') // แทรก d, e จากตำแหน่งที่ 1
การแจ้งเตือน (test2); // a, d, e, b, c
การแจ้งเตือน (ลบ 2) // อาร์เรย์ว่างเปล่า
//แทนที่
var test3 = ['a', 'b', 'c'];
var ลบ 3 = test3.splice (1,1, 'd', 'e') // แทรก d, e จากตำแหน่งที่ 1
การแจ้งเตือน (test3); // a, d, e, c
การแจ้งเตือน (ลบ 3) // b
วิธีการตำแหน่ง: indexof (), lastindexof ()
Ecmascript5 จัดเตรียมวิธีการรองรับเบราว์เซอร์: IE9+, Firefox 2+, Safari 3+, Opera 9.5+, Chrome
เมธอดดัชนี () ส่งคืนการเกิดขึ้นครั้งแรกของค่าสตริงที่ระบุในสตริง
เมธอด LastIndexof () ส่งคืนตำแหน่งสุดท้ายที่ค่าสตริงที่ระบุปรากฏขึ้นโดยค้นหาจากด้านหลังไปด้านหน้าที่ตำแหน่งที่ระบุในสตริง
เมื่อพารามิเตอร์หนึ่ง: แสดงค่าที่จะพบให้ส่งคืนตำแหน่งดัชนี (เริ่มต้นจาก 0) และเมื่อพารามิเตอร์สองพารามิเตอร์: พารามิเตอร์แรกแสดงถึงตำแหน่งเริ่มต้นและพารามิเตอร์ที่สองแสดงถึงค่าที่จะพบ
การคัดลอกรหัสมีดังนี้:
หมายเลข var = [1,2,3,4,5,4,3,3,2,1];
Alert (numbers.indexof (4)); // 3
การแจ้งเตือน (number.lastindexof (4)); // 5
Alert (numbers.indexof (4,4)); // 5
การแจ้งเตือน (number.lastindexof (4,4)); // 3
วิธีการวนซ้ำ: ทุก (), ตัวกรอง (), foreach (), แผนที่ (), บางส่วน ()
Ecmascript5 จัดเตรียมวิธีการรองรับเบราว์เซอร์: IE9+, Firefox 2+, Safari 3+, Opera 9.5+, Chrome
ทุก (): เรียกใช้ฟังก์ชั่นที่กำหนดในแต่ละรายการในอาร์เรย์และหากฟังก์ชั่นส่งคืนจริงสำหรับแต่ละรายการมันจะกลับมาจริง
ตัวกรอง (): เรียกใช้ฟังก์ชั่นที่กำหนดในแต่ละรายการในอาร์เรย์และส่งคืนอาร์เรย์ของรายการที่จะส่งคืนจริง
foreach (): เรียกใช้ฟังก์ชั่นที่กำหนดในแต่ละรายการในอาร์เรย์และวิธีนี้จะไม่ส่งคืนค่า
MAP (): เรียกใช้ฟังก์ชั่นที่กำหนดในแต่ละรายการในอาร์เรย์โดยส่งคืนอาร์เรย์ที่ประกอบด้วยผลลัพธ์ของการโทรแต่ละฟังก์ชัน
บาง (): รันฟังก์ชั่นที่กำหนดในแต่ละรายการในอาร์เรย์และหากฟังก์ชั่นส่งคืนจริงสำหรับรายการใดรายการหนึ่งมันจะส่งกลับจริง
ไม่มีฟังก์ชั่นข้างต้นที่จะแก้ไขค่าที่มีอยู่ในอาร์เรย์
การคัดลอกรหัสมีดังนี้:
หมายเลข var = [1,2,3,4,5,4,3,3,2,1];
//ทั้งหมด()
var everyResult = number.ery (ฟังก์ชั่น (รายการ, ดัชนี, อาร์เรย์) {
return (รายการ> 2);
-
การแจ้งเตือน (EveryResult); // false
//บาง()
var someresult = numbers.some (function (item, index, array) {
return (รายการ> 2);
-
การแจ้งเตือน (someresult); // true
//กรอง()
var filterResult = number.filter (ฟังก์ชั่น (รายการ, ดัชนี, อาร์เรย์) {
return (รายการ> 2);
-
การแจ้งเตือน (FilterResult); // [3,4,5,4,3]
//แผนที่()
var mapResult = numbers.map (ฟังก์ชั่น (รายการ, ดัชนี, อาร์เรย์) {
return (รายการ*2);
-
การแจ้งเตือน (MapResult); // [2,4,6,8,10,8,6,4,2]
// foreach ()
numbers.foreach (ฟังก์ชั่น (รายการ, ดัชนี, อาร์เรย์) {
// ไม่มีค่าส่งคืนเมื่อดำเนินการ
-
วิธีการผสาน: ลด (), reduceright ()
Ecmascript5 จัดเตรียมวิธีการรองรับเบราว์เซอร์: IE9+, Firefox 3+, Safari 4+, Opera 10.5+, Chrome
ทั้งสองวิธีทำซ้ำมากกว่าอาร์เรย์ที่เรียกว่าจากนั้นสร้างค่าที่ส่งคืนสุดท้าย วิธีการลด () เริ่มต้นจากรายการแรกของอาร์เรย์และเมธอด reduceright () เริ่มต้นจากรายการสุดท้ายของอาร์เรย์
การคัดลอกรหัสมีดังนี้:
ค่า var = [1,2,3,4,5];
var sum = value.Reduce (ฟังก์ชั่น (ก่อนหน้า, cur, ดัชนี, อาร์เรย์) {
Prev+Cur;
-
การแจ้งเตือน (ผลรวม); // 15
ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ฉันหวังว่าคุณจะชอบมัน