آرایه های در زبان برنامه نویسی TypeScript
استفاده از متغیرها برای ذخیرهسازی مقادیر محدودیت های زیر را دارد:
- متغیرها می توانند در هر زمان فقط یک مقدار را در خود نگه داری کنند. برای مثال اگر بخواهیم n مقدار را ذخیره کنیم، باید به تعداد n، متغیر تعریف کنیم. بنابراین برای ذخیرهسازی مجموعه ای از مقادیر استفاده از متغیرها روش عملی و منطقی نیست.
- در یک برنامه متغیرها به طور تصادفی فضای مورد نیاز خود را از حافظه می گیرند. این موضوع خواندن داده ها را به ترتیبی که اعلان شده اند، دشوار می کند.
آرایه مفهومی است که محدودیت های فوق را برطرف می کنند. یک آرایه مجموعه از مقادیر است که نوع داده ای یکسانی دارند.
ویژگی های یک آرایه
در زیر لیستی از ویژگی های یک آرایه را مشاهده می کنید:
- فضایی که تعریف یک آرایه از حافظه می گیرد به صورت متوالی است.
- آرایه های به صورت ایستا هستند. به این معنا که بعد از تعریف اولیه دیگر نمی توانند تغییر اندازه دهند.
- هر بلوک از حافظه نشان دهنده یک عنصر از آرایه است.
- برای دسترسی به عناصر آرایه از اندیس (یک عدد صحیح که از صفر شروع می شود) استفاده می کنیم.
- مانند متغیرها، قبل از استفاده از یک آرایه باید آن را اعلان کنیم. برای اعلان یک آرایه می توانید از کلمه کلیدی var استفاده کنید.
- می توان مقدار یک عنصر از آرایه را ویرایش یا اصلاح کرد، اما نمی توان آن را حذف کرد.
اعلان و مقداری دهی اولیه آرایه ها
در زیر سینتکس مربوط به اعلان و مقداری دهی به یک آرایه در TypeScript را مشاهده می کنید:
1 2 | var array_name[:datatype]; //declaration array_name = [val1,val2,valn..] //initialization |
اگر هنگام اعلان آرایه نوع داده آن مشخص نشود، کامپایلر آن را از نوع any در نظر می گیرد. نوع داده آرایه هنگامی که به آن مقداری دهی می کنیم از روی نوع داده اولین عنصر تشخیص داده می شود.
برای مثال اعلان var numlist:number[] = [2,4,6,8] یک آرایه به شکل زیر ایجاد می کند:
همانطور که در شکل فوق مشاهده می کنید، اشاره گر آرایه به اولین عنصر آرایه اشاره می کند. یک آرایه ممکن است، در یک خط اعلان و مقدار دهی شود. مانند نمونه زیر:
1 | var array_name[:data type] = [val1,val2…valn] |
دسترسی به عناصر آرایه
در زیر سینتکس مربوط به چگونگی دسترسی به یک عنصر از آرایه را مشاهده می کنید:
1 | array_name[subscript] = value |
مثال: آرایه ساده
1 2 3 4 | var alphas:string[]; alphas = ["1","2","3","4"] console.log(alphas[0]); console.log(alphas[1]); |
خروجی کد فوق بعد از کامپایل شدن:
1 2 3 4 5 | //Generated by typescript 1.8.10 var alphas; alphas = ["1", "2", "3", "4"]; console.log(alphas[0]); console.log(alphas[1]); |
خروجی مثال:
1 2 | 1 2 |
مثال: اعلان و مقدار دهی در یک خط
1 2 3 4 5 | var nums:number[] = [1,2,3,3] console.log(nums[0]); console.log(nums[1]); console.log(nums[2]); console.log(nums[3]); |
خروجی کد فوق بعد از کامپایل شدن:
1 2 3 4 5 6 | //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 4 | 1 2 3 3 |
شیء Array
برای ایجاد یک آرایه علاوه بر موارد فوق، می توانیم از شیء Array استفاده کنیم. سازنده شیء Array می تواند یکی از مقادیر زیر را بگیرد.
- یک عدد صحیح که نشان دهنده اندازه آرایه است.
- لیستی از مقادیر جدا شده با کاما
مثال زیر نحوه استفاده از روش فوق را نشان می دهد.
مثال 1:
1 2 3 4 5 | 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]) } |
خرویجی بعد از کامپایل:
1 2 3 4 5 6 | //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]); } |
خروجی مثال:
1 2 3 4 | 0 2 4 6 |
مثال 2:
1 2 3 4 | var names:string[] = new Array("Mary","Tom","Jack","Jill") for(var i = 0;i<names.length;i++) { console.log(names[i]) } |
خروجی بعد از کامپایل:
1 2 3 4 5 | //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]); } |
خروجی:
1 2 3 4 | Mary Tom Jack Jill |
متدهای شیء Array
در زیر می توانید لیست متدهای موجود در شیء Array را به همراه توضیح مختصر هر کدام مشاهده کنید:
ردیف | توضیحات |
1 | مقادیر آرایه دوم را به انتهای مقادیر آرایه اول متصل می کنید و آن را به عنوان یک آرایه جدید باز میگرداند. |
2 | اگر همه عناصر آرایه، تست مشخص شده را پاس کنند، مقدار true باز میگرداند. |
3 | یک آرایه جدید با عناصری که از فیلتر مشخص شده عبور کرده اند، ایجاد و نتیجه را باز میگرداند. |
4 | تابع مشخص شده را به ازای هر یک از عناصر آرایه، فراخوانی می کند. |
5 | اولین اندیس مقدار داده شده را اگر در میان عناصر آرایه موجود باشد، باز میگرداند. اگر آن مقدار را پیدا نکند مقدار -1 باز میگرداند. |
6 | تمام عناصر آرایه را به یک رشته تبدیل می کند. اگر جدا کننده ای مشخص نشود، از کاما استفاده می کند. |
7 | آخرین اندیس مقدار داده شده را اگر در میان عناصر آرایه موجود باشد، باز میگرداند. اگر آن مقدار را پیدا نکند مقدار -1 باز میگرداند. |
8 | یک آرایه جدید با توجه به خروجی حاصل از callback داده شده ایجاد می کند. |
9 | آخرین عنصر آرایه را حذف می کند و مقدار آن را باز میگرداند. |
10 | یک یا چند عنصر را به انتهای آرایه اضافه می کند و طول آرایه را باز میگرداند. |
11 | یک تابع میگیرد و به ازای هر دو مقدار از آرایه (از چپ به راست) آن تابع را فراخوانی کرده و نتیجه را باز میگرداند. |
12 | یک تابع میگیرد و به ازای هر دو مقدار از آرایه (از راست به چپ) آن تابع را فراخوانی کرده و نتیجه را باز میگرداند. |
13 | ترتیب قرار گیری عناصر آرایه را برعکس می کند. |
14 | اولین عنصر آرایه را حذف می کند و مقدار آن را باز میگرداند. |
15 | یک بخشی از آرایه را استخراج کرده و باز میگرداند. |
16. | اگر حداقل یکی از مقادیر آرایه تست مشخص شده را پاس کند، مقدار true باز میگرداند. |
17 | عناصر آرایه را بر اساس مقداری که دارند، مرتب می کند. |
18 | برای حذف/افزودن یک عنصر از/به آرایه استفاده می شود. |
19 | یک رشته که نمایش رشته ای آرایه را نشان می دهد را باز میگرداند. |
20 | یک یا چند عنصر را به ابتدای آرایه اضافه می کند و طول آرایه را باز میگرداند. |
Destructure کردن آرایه
در زبان تایپ اسکریپت میتوانیم عناصر آرایه را خارج و در متغیر ذخیر کنیم. برای درک بهتر به مثال زیر توجه کنید.
مثال
1 2 3 4 | var arr:number[] = [12,13] var[x,y] = arr console.log(x) console.log(y) |
خروجی بعد از کامپایل:
1 2 3 4 5 | //Generated by typescript 1.8.10 var arr = [12, 13]; var x = arr[0], y = arr[1]; console.log(x); console.log(y); |
خروجی:
1 2 | 12 13 |
کاوش عناصر آرایه با حلقه for…in
شما می توانید با استفاده از حلقه for…in به عناصر موجود در یک آرایه دسترسی داشته باشید.
1 2 3 4 5 | var j:any; var nums:number[] = [1001,1002,1003,1004] for(j in nums) { console.log(nums[j]) } |
خروجی بعد از کامپایل:
1 2 3 4 5 6 | //Generated by typescript 1.8.10 var j; var nums = [1001, 1002, 1003, 1004]; for (j in nums) { console.log(nums[j]); } |
خروجی مثال:
1 2 3 4 | 1001 1002 1003 1004 |
انواع آرایه در TypeScript
زبان تایپ اسکریپت از مفاهیم زیر که مربوط به آرایه ها هستند، پشتیبانی می کند.
ردیف | توضیحات |
1 | آرایه های چند بعدی TypeScript از آرایه های چند بعدی پشتیبانی می کند. ساده ترین نوع آرایه چند بعدی، آرایه دو بعدی است. |
2 | ارسال آرایه به توابع شما می توانید یک آرایه را با استفاده از نام آن به عنوان یک پارامتر به تابع ارسال کنید. |
3 | آرایه به عنوان خروجی تابع توابع در زبان برنامه نویسی تایپ اسکریپت می توانند خروجی از نوع آرایه داشته باشند. |
هیچ نظری ثبت نشده است