المصفوفة عبارة عن مجموعة متجانسة من نوع مماثل من العناصر التي لها موقع ذاكرة متجاور.
المصفوفة هي نوع بيانات محدد من قبل المستخدم.
المصفوفة هي نوع من بنية البيانات حيث نقوم بتخزين عناصر من نوع بيانات مشابه. في المصفوفة، يمكننا فقط تخزين مجموعة ثابتة من العناصر. يمكننا أيضًا استخدامه ككائن.
المصفوفة عبارة عن تخزين قائم على الفهرس، حيث يتم تخزين العنصر الأول في الفهرس 0. تساعد البنية أدناه على فهم بنية المصفوفة.
خصائص المصفوفة
- تقوم المصفوفة بتخزين العناصر التي لها نفس نوع البيانات.
- عناصر المصفوفة المخزنة في مواقع الذاكرة المتجاورة.
- يتم تخزين عناصر المصفوفة ثنائية الأبعاد صفًا في موقع ذاكرة مجاور.
- يمثل اسم الصفيف عنوان عنصر البداية.
- يجب تهيئة حجم المصفوفة في وقت الإعلان.
- يجب أن يكون حجم المصفوفة تعبيرًا ثابتًا وليس متغيرًا.
- يمكننا استرداد عناصر المصفوفة عن طريق تحديد قيمة الفهرس المقابلة للعنصر.
ميزة
تحسين الكود: تساعد المصفوفة على تحسين التعليمات البرمجية، مما يزيد من سرعة البرنامج وأدائه. يسمح لنا باسترداد أو فرز بيانات المصفوفة بشكل أكثر كفاءة.
دخول عشوائي: يوفر القدرة على الوصول إلى أي بيانات للمصفوفة في وقت ثابت (بغض النظر عن موضعها وحجمها). وبالتالي، يمكننا الحصول على أي بيانات لمصفوفة موجودة في أي موضع فهرس مباشرة.
عيب
حجم الحد: تسمح لنا المصفوفة بتخزين عدد محدد من العناصر فقط. بمجرد الإعلان عن المصفوفة، لا يمكننا تغيير حجمها. وبالتالي، إذا أردنا إدراج عنصر أكثر مما هو معلن، فهذا غير ممكن.
إعلان المصفوفة
تمامًا مثل JavaScript، يدعم TypeScript أيضًا المصفوفات. هناك طريقتان للإعلان عن المصفوفة:
1. استخدام الأقواس المربعة.
let array_name[:datatype] = [val1,val2,valn..]
مثال:
let fruits: string[] = ['Apple', 'Orange', 'Banana'];
2. استخدام نوع المصفوفة العامة.
إعادة تسمية الدليل
let array_name: Array = [val1,val2,valn..]
مثال:
let fruits: Array = ['Apple', 'Orange', 'Banana'];
أنواع المصفوفة في TypeScript
هناك نوعان من المصفوفة:
- مصفوفة أحادية البعد
- مصفوفة متعددة الأبعاد
مصفوفة أحادية البعد
المصفوفة أحادية البعد هي نوع من المصفوفات الخطية التي تحتوي على صف واحد فقط لتخزين البيانات. تحتوي على مجموعة واحدة من الأقواس المربعة ('[]'). يمكننا الوصول إلى عناصره إما باستخدام فهرس الصف أو العمود.
بناء الجملة
let array_name[:datatype];
التهيئة
array_name = [val1,val2,valn..]
مثال
let arr:number[]; arr = [1, 2, 3, 4] console.log('Array[0]: ' +arr[0]); console.log('Array[1]: ' +arr[1]);
انتاج:
Array[0]: 1 Array[1]: 2
مصفوفة متعددة الأبعاد
المصفوفة متعددة الأبعاد هي مصفوفة تحتوي على مصفوفة واحدة أو أكثر. في المصفوفة متعددة الأبعاد، يتم تخزين البيانات في فهرس قائم على الصفوف والأعمدة (المعروف أيضًا باسم نموذج المصفوفة). المصفوفة ثنائية الأبعاد (مصفوفة ثنائية الأبعاد) هي أبسط أشكال المصفوفة متعددة الأبعاد.
بناء الجملة
let arr_name:datatype[][] = [ [a1,a2,a3], [b1,b2,b3] ];
التهيئة
let arr_name:datatype[initial_array_index][referenced_array_index] = [ [val1,val2,val 3], [v1,v2,v3]];
مثال
var mArray:number[][] = [[1,2,3],[5,6,7]] ; console.log(mArray[0][0]); console.log(mArray[0][1]); console.log(mArray[0][2]); console.log(); console.log(mArray[1][0]); console.log(mArray[1][1]); console.log(mArray[1][2]);
انتاج:
1 2 3 5 6 7
كائن صفيف
تسمح لنا كائنات المصفوفة بتخزين قيم متعددة في متغير واحد. يمكننا إنشاء مصفوفة باستخدام كائن المصفوفة. يتم استخدام مُنشئ المصفوفة لتمرير الوسائط التالية لإنشاء المصفوفة.
- قيمة رقمية تمثل حجم المصفوفة أو
- قائمة القيم المفصولة بفواصل.
بناء الجملة
let arr_name:datatype[] = new Array(values);
مثال
//array by using the Array object. let arr:string[] = new Array('JavaTpoint','2200','Java','Abhishek'); for(var i = 0;i <arr.length;i++) { console.log(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> JavaTpoint 2200 Java Abhishek </pre> <h3>Array Traversal by using a for...in loop</h3> <p> <strong>Example</strong> </p> <pre> let i:any; let arr:string[] = ['JavaTpoint', '2300', 'Java', 'Abhishek']; for(i in arr) { console.log(arr[i]) } </pre> <p> <strong>Output:</strong> </p> <pre> JavaTpoint 2300 Java Abhishek </pre> <h3>Passing Arrays to Functions</h3> <p>We can pass arrays to functions by specifying the array name without an index.</p> <p> <strong>Example</strong> </p> <pre> let arr:string[] = new Array('JavaTpoint', '2300', 'Java', 'Abhishek'); //Passing arrays in function function display(arr_values:string[]) { for(let i = 0;i <arr_values.length;i++) { console.log(arr[i]); } calling arrays in function display(arr); < pre> <p> <strong>Output:</strong> </p> <pre> JavaTpoint 2300 Java Abhishek </pre> <hr> <h2>TypeScript Spread operator</h2> <p>The spread operator is used to initialize arrays and objects from another array or object. We can also use it for object de-structuring. It is a part of the ES 6 version.</p> <p> <strong>Example</strong> </p> <pre> let arr1 = [ 1, 2, 3]; let arr2 = [ 4, 5, 6]; //Create new array from existing array let copyArray = [...arr1]; console.log('CopiedArray: ' +copyArray); //Create new array from existing array with more elements let newArray = [...arr1, 7, 8]; console.log('NewArray: ' +newArray); //Create array by merging two arrays let mergedArray = [...arr1, ...arr2]; console.log('MergedArray: ' +mergedArray); </pre> <p> <strong>Output:</strong> </p> <pre> CopiedArray: 1,2,3 NewArray: 1,2,3,7,8 MergedArray: 1,2,3,4,5,6 </pre> <hr> <h2>Array Methods</h2> <p>The list of array methods with their description is given below.</p> <table class="table"> <tr> <th>SN</th> <th>Method</th> <th>Description</th> </tr> <tr> <td>1.</td> <td>concat()</td> <td>It is used to joins two arrays and returns the combined result.</td> </tr> <tr> <td>2.</td> <td>copyWithin()</td> <td>It copies a sequence of an element within the array.</td> </tr> <tr> <td>3.</td> <td>every()</td> <td>It returns true if every element in the array satisfies the provided testing function.</td> </tr> <tr> <td>4.</td> <td>fill()</td> <td>It fills an array with a static value from the specified start to end index.</td> </tr> <tr> <td>5.</td> <td>indexOf()</td> <td>It returns the index of the matching element in the array, otherwise -1.</td> </tr> <tr> <td>6.</td> <td>includes()</td> <td>It is used to check whether the array contains a certain element or not.</td> </tr> <tr> <td>7.</td> <td>Join()</td> <td>It is used to joins all elements of an array into a string.</td> </tr> <tr> <td>8.</td> <td>lastIndexOf()</td> <td>It returns the last index of an element in the array.</td> </tr> <tr> <td>9.</td> <td>Pop()</td> <td>It is used to removes the last elements of the array.</td> </tr> <tr> <td>10.</td> <td>Push()</td> <td>It is used to add new elements to the array.</td> </tr> <tr> <td>11.</td> <td>reverse()</td> <td>It is used to reverse the order of an element in the array.</td> </tr> <tr> <td>12.</td> <td>Shift()</td> <td>It is used to removes and returns the first element of an array.</td> </tr> <tr> <td>13.</td> <td>slice()</td> <td>It returns the section fo an array in the new array.</td> </tr> <tr> <td>14.</td> <td>sort()</td> <td>It is used to sort the elements of an array.</td> </tr> <tr> <td>15.</td> <td>splice()</td> <td>It is used to add or remove the elements from an array.</td> </tr> <tr> <td>16.</td> <td>toString()</td> <td>It returns the string representation of an array.</td> </tr> <tr> <td>17.</td> <td>unshift()</td> <td>It is used to add one or more elements to the beginning of an array.</td> </tr> </table></arr_values.length;i++)></pre></arr.length;i++)>
اجتياز المصفوفة باستخدام حلقة for...in
مثال
let i:any; let arr:string[] = ['JavaTpoint', '2300', 'Java', 'Abhishek']; for(i in arr) { console.log(arr[i]) }
انتاج:
JavaTpoint 2300 Java Abhishek
تمرير المصفوفات إلى الوظائف
يمكننا تمرير المصفوفات إلى الوظائف عن طريق تحديد اسم المصفوفة بدون فهرس.
مثال
اختر من جداول متعددة في SQL
let arr:string[] = new Array('JavaTpoint', '2300', 'Java', 'Abhishek'); //Passing arrays in function function display(arr_values:string[]) { for(let i = 0;i <arr_values.length;i++) { console.log(arr[i]); } calling arrays in function display(arr); < pre> <p> <strong>Output:</strong> </p> <pre> JavaTpoint 2300 Java Abhishek </pre> <hr> <h2>TypeScript Spread operator</h2> <p>The spread operator is used to initialize arrays and objects from another array or object. We can also use it for object de-structuring. It is a part of the ES 6 version.</p> <p> <strong>Example</strong> </p> <pre> let arr1 = [ 1, 2, 3]; let arr2 = [ 4, 5, 6]; //Create new array from existing array let copyArray = [...arr1]; console.log('CopiedArray: ' +copyArray); //Create new array from existing array with more elements let newArray = [...arr1, 7, 8]; console.log('NewArray: ' +newArray); //Create array by merging two arrays let mergedArray = [...arr1, ...arr2]; console.log('MergedArray: ' +mergedArray); </pre> <p> <strong>Output:</strong> </p> <pre> CopiedArray: 1,2,3 NewArray: 1,2,3,7,8 MergedArray: 1,2,3,4,5,6 </pre> <hr> <h2>Array Methods</h2> <p>The list of array methods with their description is given below.</p> <table class="table"> <tr> <th>SN</th> <th>Method</th> <th>Description</th> </tr> <tr> <td>1.</td> <td>concat()</td> <td>It is used to joins two arrays and returns the combined result.</td> </tr> <tr> <td>2.</td> <td>copyWithin()</td> <td>It copies a sequence of an element within the array.</td> </tr> <tr> <td>3.</td> <td>every()</td> <td>It returns true if every element in the array satisfies the provided testing function.</td> </tr> <tr> <td>4.</td> <td>fill()</td> <td>It fills an array with a static value from the specified start to end index.</td> </tr> <tr> <td>5.</td> <td>indexOf()</td> <td>It returns the index of the matching element in the array, otherwise -1.</td> </tr> <tr> <td>6.</td> <td>includes()</td> <td>It is used to check whether the array contains a certain element or not.</td> </tr> <tr> <td>7.</td> <td>Join()</td> <td>It is used to joins all elements of an array into a string.</td> </tr> <tr> <td>8.</td> <td>lastIndexOf()</td> <td>It returns the last index of an element in the array.</td> </tr> <tr> <td>9.</td> <td>Pop()</td> <td>It is used to removes the last elements of the array.</td> </tr> <tr> <td>10.</td> <td>Push()</td> <td>It is used to add new elements to the array.</td> </tr> <tr> <td>11.</td> <td>reverse()</td> <td>It is used to reverse the order of an element in the array.</td> </tr> <tr> <td>12.</td> <td>Shift()</td> <td>It is used to removes and returns the first element of an array.</td> </tr> <tr> <td>13.</td> <td>slice()</td> <td>It returns the section fo an array in the new array.</td> </tr> <tr> <td>14.</td> <td>sort()</td> <td>It is used to sort the elements of an array.</td> </tr> <tr> <td>15.</td> <td>splice()</td> <td>It is used to add or remove the elements from an array.</td> </tr> <tr> <td>16.</td> <td>toString()</td> <td>It returns the string representation of an array.</td> </tr> <tr> <td>17.</td> <td>unshift()</td> <td>It is used to add one or more elements to the beginning of an array.</td> </tr> </table></arr_values.length;i++)>
عامل انتشار TypeScript
يتم استخدام عامل الانتشار لتهيئة المصفوفات والكائنات من مصفوفة أو كائن آخر. يمكننا أيضًا استخدامه لتفكيك الكائنات. إنه جزء من إصدار ES 6.
مثال
let arr1 = [ 1, 2, 3]; let arr2 = [ 4, 5, 6]; //Create new array from existing array let copyArray = [...arr1]; console.log('CopiedArray: ' +copyArray); //Create new array from existing array with more elements let newArray = [...arr1, 7, 8]; console.log('NewArray: ' +newArray); //Create array by merging two arrays let mergedArray = [...arr1, ...arr2]; console.log('MergedArray: ' +mergedArray);
انتاج:
CopiedArray: 1,2,3 NewArray: 1,2,3,7,8 MergedArray: 1,2,3,4,5,6
طرق المصفوفة
قائمة طرق المصفوفة مع وصفها موضحة أدناه.
SN | طريقة | وصف |
---|---|---|
1. | كونكات () | يتم استخدامه لربط صفيفين وإرجاع النتيجة المجمعة. |
2. | نسخة داخل () | يقوم بنسخ تسلسل عنصر داخل المصفوفة. |
3. | كل() | يتم إرجاعه صحيحًا إذا كان كل عنصر في المصفوفة يلبي وظيفة الاختبار المتوفرة. |
4. | يملأ() | يقوم بملء المصفوفة بقيمة ثابتة من فهرس البداية إلى النهاية المحدد. |
5. | دليل ل() | تقوم بإرجاع فهرس العنصر المطابق في المصفوفة، وإلا -1. |
6. | يشمل() | يتم استخدامه للتحقق مما إذا كانت المصفوفة تحتوي على عنصر معين أم لا. |
7. | ينضم() | يتم استخدامه لربط جميع عناصر المصفوفة في سلسلة. |
8. | مؤشر الفهرس الأخير () | تقوم بإرجاع الفهرس الأخير لعنصر في المصفوفة. |
9. | فرقعة () | يتم استخدامه لإزالة العناصر الأخيرة من المصفوفة. |
10. | يدفع() | يتم استخدامه لإضافة عناصر جديدة إلى المصفوفة. |
أحد عشر. | يعكس() | يتم استخدامه لعكس ترتيب عنصر في المصفوفة. |
12. | يحول() | يتم استخدامه لإزالة وإرجاع العنصر الأول من المصفوفة. |
13. | شريحة() | تقوم بإرجاع القسم الخاص بمصفوفة في المصفوفة الجديدة. |
14. | نوع() | يتم استخدامه لفرز عناصر المصفوفة. |
خمسة عشر. | لصق او جمع() | يتم استخدامه لإضافة أو إزالة العناصر من المصفوفة. |
16. | إلى سلسلة() | تقوم بإرجاع تمثيل السلسلة لصفيف. |
17. | إلغاء النقل () | يتم استخدامه لإضافة عنصر واحد أو أكثر إلى بداية المصفوفة. |