TypeScript - อาร์เรย์

การใช้ตัวแปรเพื่อเก็บค่ามีข้อ จำกัด ดังต่อไปนี้ -

  • ตัวแปรเป็นสเกลาร์ในธรรมชาติ กล่าวอีกนัยหนึ่งคือการประกาศตัวแปรสามารถมีได้ครั้งละหนึ่งรายการเท่านั้น ซึ่งหมายความว่าในการจัดเก็บค่า n ในโปรแกรม n จะต้องมีการประกาศตัวแปร ดังนั้นการใช้ตัวแปรจึงไม่สามารถทำได้เมื่อจำเป็นต้องจัดเก็บชุดค่าที่มากขึ้น

  • ตัวแปรในโปรแกรมได้รับการจัดสรรหน่วยความจำตามลำดับแบบสุ่มจึงทำให้ดึง / อ่านค่าตามลำดับการประกาศได้ยาก

TypeScript แนะนำแนวคิดของอาร์เรย์เพื่อจัดการกับสิ่งเดียวกัน อาร์เรย์คือชุดค่าที่เป็นเนื้อเดียวกัน เพื่อให้ง่ายขึ้นอาร์เรย์คือชุดของค่าประเภทข้อมูลเดียวกัน เป็นประเภทที่ผู้ใช้กำหนด

คุณสมบัติของ Array

นี่คือรายการคุณสมบัติของอาร์เรย์ -

  • การประกาศอาร์เรย์จัดสรรบล็อกหน่วยความจำตามลำดับ

  • อาร์เรย์เป็นแบบคงที่ ซึ่งหมายความว่าอาร์เรย์เมื่อเริ่มต้นแล้วจะไม่สามารถปรับขนาดได้

  • บล็อกหน่วยความจำแต่ละบล็อกแทนองค์ประกอบอาร์เรย์

  • องค์ประกอบอาร์เรย์ถูกระบุโดยจำนวนเต็มเฉพาะที่เรียกว่าตัวห้อย / ดัชนีขององค์ประกอบ

  • เช่นเดียวกับตัวแปรอาร์เรย์ก็ควรประกาศก่อนที่จะใช้ ใช้คีย์เวิร์ด var เพื่อประกาศอาร์เรย์

  • การเริ่มต้นอาร์เรย์หมายถึงการเติมองค์ประกอบอาร์เรย์

  • ค่าองค์ประกอบอาร์เรย์สามารถอัปเดตหรือแก้ไขได้ แต่ไม่สามารถลบได้

การประกาศและการเริ่มต้นอาร์เรย์

ในการประกาศการเริ่มต้นอาร์เรย์ใน typescript ให้ใช้ไวยากรณ์ต่อไปนี้ -

ไวยากรณ์

var array_name[:datatype];        //declaration 
array_name = [val1,val2,valn..]   //initialization

การประกาศอาร์เรย์โดยไม่มีประเภทข้อมูลจะถือว่าเป็นประเภทใดก็ได้ ประเภทของอาร์เรย์ดังกล่าวอนุมานจากชนิดข้อมูลขององค์ประกอบแรกของอาร์เรย์ในระหว่างการเริ่มต้น

ตัวอย่างเช่นการประกาศเช่น - var numlist:number[] = [2,4,6,8] จะสร้างอาร์เรย์ตามที่ระบุด้านล่าง -

ตัวชี้อาร์เรย์อ้างถึงองค์ประกอบแรกตามค่าเริ่มต้น

Arrays may be declared and initialized in a single statement. ไวยากรณ์เดียวกันคือ -

var array_name[:data type] = [val1,val2…valn]

Note - คู่ของ [] เรียกว่ามิติของอาร์เรย์

การเข้าถึงองค์ประกอบอาร์เรย์

ชื่ออาร์เรย์ตามด้วยตัวห้อยใช้อ้างอิงถึงองค์ประกอบอาร์เรย์ ไวยากรณ์มีดังนี้ -

array_name[subscript] = value

ตัวอย่าง: Simple Array

var alphas:string[]; 
alphas = ["1","2","3","4"] 
console.log(alphas[0]); 
console.log(alphas[1]);

ในการคอมไพล์จะสร้างโค้ด JavaScript ต่อไปนี้ -

//Generated by typescript 1.8.10
var alphas;
alphas = ["1", "2", "3", "4"];
console.log(alphas[0]);
console.log(alphas[1]);

ผลลัพธ์ของรหัสด้านบนมีดังนี้ -

1 
2

ตัวอย่าง: การประกาศคำสั่งเดี่ยวและการเริ่มต้น

var nums:number[] = [1,2,3,3] 
console.log(nums[0]); 
console.log(nums[1]); 
console.log(nums[2]); 
console.log(nums[3]);

ในการคอมไพล์จะสร้างโค้ด JavaScript ต่อไปนี้ -

//Generated by typescript 1.8.10
var nums = [1, 2, 3, 3];
console.log(nums[0]);
console.log(nums[1]);
console.log(nums[2]);
console.log(nums[3]);

ผลลัพธ์มีดังนี้ -

1 
2 
3 
3

วัตถุอาร์เรย์

นอกจากนี้ยังสามารถสร้างอาร์เรย์โดยใช้วัตถุ Array ตัวสร้างอาร์เรย์สามารถส่งผ่านได้

  • ค่าตัวเลขที่แสดงถึงขนาดของอาร์เรย์หรือ

  • รายการค่าที่คั่นด้วยจุลภาค

ตัวอย่างต่อไปนี้แสดงวิธีการสร้างอาร์เรย์โดยใช้วิธีนี้

ตัวอย่าง

var arr_names:number[] = new Array(4)  

for(var i = 0;i<arr_names.length;i++) { 
   arr_names[i] = i * 2 
   console.log(arr_names[i]) 
}

ในการคอมไพล์จะสร้างโค้ด JavaScript ต่อไปนี้

//Generated by typescript 1.8.10
var arr_names = new Array(4);

for (var i = 0; i < arr_names.length; i++) {
   arr_names[i] = i * 2;
   console.log(arr_names[i]);
}

ผลลัพธ์มีดังนี้ -

0 
2 
4 
6

ตัวอย่าง: Array Constructor ยอมรับค่าที่คั่นด้วยคอมมา

var names:string[] = new Array("Mary","Tom","Jack","Jill") 

for(var i = 0;i<names.length;i++) { 
   console.log(names[i]) 
}

ในการคอมไพล์จะสร้างโค้ด JavaScript ต่อไปนี้ -

//Generated by typescript 1.8.10
var names = new Array("Mary", "Tom", "Jack", "Jill");
for (var i = 0; i < names.length; i++) {
   console.log(names[i]);
}

ผลลัพธ์มีดังนี้ -

Mary 
Tom 
Jack 
Jill

วิธีการอาร์เรย์

รายการวิธีการของวัตถุ Array พร้อมกับคำอธิบายมีให้ด้านล่าง

ส. วิธีการและคำอธิบาย
1. ประสาน ()

ส่งคืนอาร์เรย์ใหม่ที่ประกอบด้วยอาร์เรย์นี้รวมกับอาร์เรย์และ / หรือค่าอื่น ๆ

2. ทุก ()

ส่งคืนค่าจริงหากทุกองค์ประกอบในอาร์เรย์นี้ตรงตามฟังก์ชันการทดสอบที่ให้มา

3. กรอง()

สร้างอาร์เรย์ใหม่พร้อมองค์ประกอบทั้งหมดของอาร์เรย์นี้ซึ่งฟังก์ชันการกรองที่ให้มาจะส่งกลับค่าจริง

4. แต่ละ()

เรียกใช้ฟังก์ชันสำหรับแต่ละองค์ประกอบในอาร์เรย์

5. indexOf ()

ส่งคืนดัชนีแรก (น้อยที่สุด) ขององค์ประกอบภายในอาร์เรย์เท่ากับค่าที่ระบุหรือ -1 หากไม่พบ

6. เข้าร่วม ()

รวมองค์ประกอบทั้งหมดของอาร์เรย์ลงในสตริง

7. lastIndexOf ()

ส่งคืนดัชนีสุดท้าย (มากที่สุด) ขององค์ประกอบภายในอาร์เรย์เท่ากับค่าที่ระบุหรือ -1 หากไม่พบ

8. แผนที่()

สร้างอาร์เรย์ใหม่พร้อมผลลัพธ์ของการเรียกใช้ฟังก์ชันที่จัดเตรียมไว้ให้กับทุกองค์ประกอบในอาร์เรย์นี้

9. ป๊อป ()

ลบองค์ประกอบสุดท้ายออกจากอาร์เรย์และส่งคืนองค์ประกอบนั้น

10. ดัน ()

เพิ่มองค์ประกอบอย่างน้อยหนึ่งรายการที่ส่วนท้ายของอาร์เรย์และส่งกลับความยาวใหม่ของอาร์เรย์

11. ลด()

ใช้ฟังก์ชันพร้อมกันกับค่าสองค่าของอาร์เรย์ (จากซ้ายไปขวา) เพื่อลดค่าเป็นค่าเดียว

12. ลดขวา ()

ใช้ฟังก์ชันพร้อมกันกับค่าสองค่าของอาร์เรย์ (จากขวาไปซ้าย) เพื่อลดให้เป็นค่าเดียว

13. ย้อนกลับ ()

กลับลำดับขององค์ประกอบของอาร์เรย์ - อันแรกกลายเป็นลำดับสุดท้ายและสุดท้ายจะกลายเป็นลำดับแรก

14. กะ ()

ลบองค์ประกอบแรกออกจากอาร์เรย์และส่งคืนองค์ประกอบนั้น

15. ชิ้น ()

แยกส่วนของอาร์เรย์และส่งคืนอาร์เรย์ใหม่

16. บาง()

ส่งคืนค่าจริงหากอย่างน้อยหนึ่งองค์ประกอบในอาร์เรย์นี้ตรงตามฟังก์ชันการทดสอบที่ให้มา

17. เรียงลำดับ ()

จัดเรียงองค์ประกอบของอาร์เรย์

18. ประกบ ()

เพิ่มและ / หรือลบองค์ประกอบจากอาร์เรย์

19. toString ()

ส่งคืนสตริงที่แสดงอาร์เรย์และองค์ประกอบ

20. คลาย ()

เพิ่มองค์ประกอบอย่างน้อยหนึ่งรายการที่ด้านหน้าอาร์เรย์และส่งกลับความยาวใหม่ของอาร์เรย์

การทำลายโครงสร้างอาร์เรย์

หมายถึงการทำลายโครงสร้างของเอนทิตี TypeScript รองรับการทำลายโครงสร้างเมื่อใช้ในบริบทของอาร์เรย์

ตัวอย่าง

var arr:number[] = [12,13] 
var[x,y] = arr 
console.log(x) 
console.log(y)

ในการคอมไพล์จะสร้างโค้ด JavaScript ต่อไปนี้

//Generated by typescript 1.8.10
var arr = [12, 13];
var x = arr[0], y = arr[1];
console.log(x);
console.log(y);

ผลลัพธ์มีดังนี้ -

12 
13

Array Traversal ใช้สำหรับ… in loop

หนึ่งสามารถใช้ for…in วนซ้ำเพื่อสำรวจผ่านอาร์เรย์

var j:any; 
var nums:number[] = [1001,1002,1003,1004] 

for(j in nums) { 
   console.log(nums[j]) 
}

ลูปทำการข้ามอาร์เรย์ตามดัชนี

ในการคอมไพล์จะสร้างโค้ด JavaScript ต่อไปนี้

//Generated by typescript 1.8.10
var j;
var nums = [1001, 1002, 1003, 1004];

for (j in nums) {
   console.log(nums[j]);
}

ผลลัพธ์ของโค้ดด้านบนแสดงไว้ด้านล่าง -

1001 
1002 
1003 
1004

อาร์เรย์ใน TypeScript

TypeScript สนับสนุนแนวคิดต่อไปนี้ในอาร์เรย์ -

ส. แนวคิดและคำอธิบาย
1. อาร์เรย์หลายมิติ

TypeScript รองรับอาร์เรย์หลายมิติ รูปแบบที่ง่ายที่สุดของอาร์เรย์หลายมิติคืออาร์เรย์สองมิติ

2. การส่งอาร์เรย์ไปยังฟังก์ชัน

คุณสามารถส่งผ่านไปยังฟังก์ชันตัวชี้ไปยังอาร์เรย์ได้โดยระบุชื่ออาร์เรย์โดยไม่มีดัชนี

3. ส่งคืนอาร์เรย์จากฟังก์ชัน

อนุญาตให้ฟังก์ชันส่งคืนอาร์เรย์