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. | ส่งคืนอาร์เรย์จากฟังก์ชัน อนุญาตให้ฟังก์ชันส่งคืนอาร์เรย์ |