المصفوفات في Javascript

المصفوفات :-

المصفوفات واحدة من الأشياء المهمة جدا في بناء تراكيب الجافا سكريبت , ويمكن تصور تركيب المصفوفة علي أنها عمود واحد يحتوي علي عدة عناصر من البيانات , أو علي أنها صف يحتوي علي عدة عناصر من البيانات .... أو عدة أعمدة وعدة صفوف مثل الجدول في المصفوفة ذات البعدين .... أو عدة أعمدة وعدة صفوف مثل في طبقات مختلفة مثل الجراجات متعددة الطوابق في المصفوفات ذات الأبعاد المتعددة .. ويبدأ العد في المصفوفة بداية من صفر (الذي يمثل العنصر الأول في المصفوفة), ولبناء مصفوفة ينبغي أن يتم تعريفها أولا كمتغير وكمصفوفة...

Var  t1

T1=new Array(عدد عناصر المصفوفة)

أو يمكن اختصار السطرين السابقين في سطر واحد (بالطريقة المعتادة بتعريف المتغير وتخزين المصفوفة بداخلة)

Var t1=newArray (عددعناصر المصفوفة)

يمكن للمصفوفة أن تحتوي علي أي نوع من البيانات يمكن لجافا سكريبت التعامل معها ...

بناء المصفوفة :-

تتعدد طرق وضع العناصر في المصفوفة بأكثر من طريقة :-

الطريقة الأولي :-

Var family = new Array (4)

Family [0] = "father"

Family [1] = "mother"

Family [2] = "brother"

Family [3] = "sister"

الطريقة الثانية :-

Var family = new Array (4)

Family = ["father","mother",borther","sister"]

الطريقة الثالثة :-

Var family = new Array ("father", "mother", "borther", "sister"]

لطباعة عناصر المصفوفة علي المتصفح :-

- بإستعمال أمر الإخراج () document.write , وتحديد رقم العنصر المطلوب طباعته

مثال :-

<HTML>

<Head>

<title>Array</title>

<script>

Var family = new Array (4);

family [0] = "father";

family [1] = "mother";

family [2] = "brother";

family [3] = "sister";

</script>

</Head>

<body>

<script>

Document.write(family[0];

Document.write("br>");

Document.write(family[1]);

</script>

</body>

</HTML>

Java Script-32_03

- أما عند عناصر المصفوفة كلها , فيكفي ذكر أمر الإخراج مع اسم المصفوفة فقط

Document.write (family);

Java Script-32_07

- يمكن طباعة عناصر المصفوفة أيضا بإستخدام الأسلوب for

<HTML>

<Head>

<title>Array</title>

<script>

Var family = new Array (4);

Family [0] = "father";

Family [1] = "mother";

Family [2] = "brother";

Family [3] = "sister";

</script>

</Head>

<body>

<script>

For  (var i=0; I < family.length;i++)

{

Document.write(family[i] + "<Br>");

}

</script>

</body>

</HTML>

Java Script-33_03

إنشاء مصفوفة تحتوي علي مصفوفة :-

يمكن أن تحتوي المصفوفة علي عناصر ذات أنواع أو قيم مختلفة في نفس المصفوفة , علي سبيل المثال : مصفوفة تحتوي علي عنصر نصي , وآخر عبارة عن متغير , وثالث عبارة عن رقم.

وعناصر المصفوفة يمكن أن تكون أيضا عناصر , أو قيم منطقية , وبإستخدام مصفوفة كاملة كعنصر في مصفوفة أخري تكون عملية إنشاء ما يشبة مصفوفات متعددة الأبعاد .

قم بتعريف مصفوفتين ثم خصص مصفوفه لتكون عنصرا في الأخري :-

Var family = newArray ("father", "mother", "brother","sister");

Var family1 = new Array("grandfather","grandmother",family);

لاحظ أن عناصر المصفوفة العادية توضع بين علامتي التنصيص , أما عند وضع متغير أو مصفوفة كأحد عناصر مصفوفة أخري فلا يتم وضعها بين تلك العلامتين

لاحظ المثال التالي :

<HTML>

<HEAD>

<TITLE> 2D Array</TITLE>

<script>

Var family1 = new Array("father","mother","brother","sister");

Var family = new Array("grandfather","grandmother",family1);

</script>

</HEAD>

<BODY>

<script>

Document.write(family);

</script>

</BODY>

</HTML>

Java Script-34_03

خاصية طول المصفوفة Length :-

- تستخدم لمعرفة عدد عناصر المصفوفة

**الصيغة العامة لها :-

arrayName.length

مثال :-

<HTML>

<HEAD>

<TITLE> length </TITLE>

<script>

Var family = new Array ("father", "mother", "brother" ,"sister");

</script>

</HEAD>

<BODY>

<script>

Document.write(family.length);

</script>

</BODY>

</HTML>

خاصية حذف عنصر من المصفوفة delete :-

- تستخدم لحذف عنصر محدد من المصفوفة

- يتم حذف العنصر من المصفوفة , ولا يتغير طول المصفوفة

- يتغير قيمة العنصر المحذوف إلي القيمة unfined

**الصيغة العامة لها :-

Delete arrayName[i];

مثال :

<HTMl>

<HEAD>

<TITLE> delete </TITLE>

<script>

Var family = new Array ("father","mother","brother","sister");

Delete family[2]

</script>

</HEAD>

<BODY>

<script>

Document.write(family[2] + "<br>");

Document.write("length is" + "" +family.length);

</script>

</BODY>

</HTML>

Java Script-35_03

طرق المصفوفات Methods :-

Slice ()   concat ()  join ()  splice ( )        sort ( )                    shift ( )

Pop ( )    to String ( )   push ( )    unshift  ( )    reverse  ( )                               

concat  ( )

ستخدم لإضافة عناصر مصفوفة ما إلي مصفوفة أخري

** الصيغة العامة لها :

Array Name.concat (arrayName2)

مثال :-

<HTML>

<HEAD>
<TITLE> contact </TITLE>

<script>

Var family 1= new Array ("father"."mother", "brother"."sister");

Var family2 = new Array ("grandfather","grandmother");

Family = family1.contact(family2);

</script>

</HEAD>

<BODY>

<script>

For (var i=0;I < family.length;i++{

Document.write(family[i] + "<BR>");

}

Document.write(family.length);

</script>

</BODY>

</HTML>

Java Script-36_03

لاحظ طول المصفوفة الجديدة عبارة عن مجموع طولي عناصر المصفوفتين , family1,family2

Join ( )

تستخدم لتجميع عناصر المصفوفة بجانب بعض , وفصل كل عنصر عن الآخر بعلامة يتم إدخالها في الدالة

**الصيغة العامة لها :-

Arrayname.join("علامة أو حرف")

مثال :-

<HTML>

<HEAD>

<TITLE> join</TITLE>

<script>

var family = new Array ("father", "mother", "brother","sister");

</script>

</HEAD>

<BODY>

<script>

Document.write(family.join("-"));

</script>

</BODY>

</HTML>

Java Script-37_03

PoP ( )

- تقوم تلك الدالة بحذف آخر عنصر من المصفوفة , وطباعت قيمت العنصر المحذوف علي نافذة المستعرض.

- عند استعمال تلك الدالة مرةأخري , فإنها تحذف آخر عنصر من العناصر المتبقية (العنصر قبل الأخير في الأصل ), وتطبع قيمته......وهكذا

**الصيغة العامة لها :

arrayName.pop ( )

مثال :-

<HTML>

<HEAD>

<TITLE> pop</TITLE>

<script>

Var family = newArray ("father","mother","brother",sister");

</script>

</HEAD>

<BODY>

<script>

Document.write(family.pop() + "<br>");

Document.write("length is " + " + family.length + " <br>");

Document.write(family.pop() + "<br>");

Document.write("length is " +""+ family.length):

</script>

</BODY>

</HTML>

Java Script-38_03

لاحظ الإختبار بمعرفة طول المصفوفة بعد كل تطبيق للطريقة pop وملاحظة حذفها للعنصر الأخير مع طباعته عند تنفيذ الحذف ...

Push ( )

لطباعة عدد عناصر المصفوفة عند إضافة عناصر جديدة إليها في خطوة واحدة , حيث يتم إضافة العناصر الجديدة في نهاية المصفوفة

**الصيغة العامة لها :-

Arrayname.push(father,mother,….)

مثال :-

<HTML>

<HEAD>

<TITLE> push </TITLE>

<script>

Var family = new ARRAY ("father","mother","brother","sister");

</script>

</HEAD>

<BODY>

<script>

Document.write("new length is" + "" + family.push("grandfather","grandmother"));

</script>

</BODY>

</HTML>

Java Script-39_03

reverse ( )

تستخدم لعكس ترتيب عناصر المصفوفة

**الصيغة العامة لها :-

Arrayname.reverse()

مثال :-

<HTML>

<HEAD>

<TITLE> reverse </TITLE>

<script>

Var family = new ARRAY ("father", "mother", "brother", "sister"):

</script>

</HEAD>

<BODY>

<script>

Document.write(family.reverse()):

</script>

</BODY>

</HTML>

Java Script-40_03

Shift ( )

- تقوم بحذف أول عنصر من عناصر المصفوفة وطباعة قيمته

- تقوم بعمل إزاحة للعناصر , وبالتالي ينتقص عدد بمقدار 1 في كل مرة تستخدم تلك الدالة فيها

**الصيغة العامة لها :-

Arrayname.shift()

مثال :-

<HTML>

<HEAD>

<TITLE> shift  </TITLE>

<script>

Var family = new Array ("father", "mother", "brother", "sister"):

</script>

</HEAD>

<BODY>

<script>

Document.write(family.shift() + "<br>"):

Document.write("length is " + "" +family.length + " <br>");

Document.write("family.shift() + "<br>");

Document.write("length is " + ""+family.length + "<br>");  </script>

</BODY>

</HTML>

Java Script-38_03

لاحظ الإختبار لمعرفة طول المصفوفة بعد كل مرة نطبق فيها الطريقة shift وملاحظة حذفها للعنصر الأول

Shift ( )

- تستخدم لنسخ عدد معين من عناصر المصفوفة ,...لمصفوفة أخري...

**الصيغة العامة لها :

arrayName.slice(موقع العنصر);

arrayname.slice(موقع العنصر الثاني ,موقع العنصر الأول , ….);

<HTML>

<HEAD>

<TITLE> Slice </TITLE>

<script>

Var family = new Array ("father", "mother", "brother","sister");

</script>

</HEAD>

<BODY>

<script>

Document.write("old length is" + ""+family.length + "<br>");

Var family1 = family.slice(1,3);

Documentwrite(family1.join(",") + "<br>");

Document.write("new length is " + ""+family.length + "<br>");

</script>

</BODY>

</HTML>

Java Script-42_02

- لاحظ أن العنصر رقم 1 هو mother , أما العنصر رقم3 فهو brother ...

- لاتنسي أن الترقيم يبدأ من الصفر .

Splice ( )

- تستخدم لاستقطاع عدد معين من عناصر المصفوفة ... ووضعه في مصفوفة أخري

**الصيغة العامة لها :

arrayName.slice(عدد العناصر المطلوب استقطاعها , بداية الإستقطاع);

مثال :

<HTML>

<HEAD>

<TITLE> Splice </TITLE>

<script>

Var family = new Array ("father", "mother", "brother","sister");

</script>

</HEAD>

<BODY>

<script>

Document.write("old length is " + ""+family.length + "<br>");

Var family1 = gamily.splice(1,3);

Document.write(family1.join(",") + "<br>");

Document.write("new length is" + ""+family.length + "<br>");

</script>

</BODY>

</HTML>

Java Script-43_03

Sort ( )

- تستخدم لترتيب عناصر المصفوفة أبجديا (لاحظ أن الأرقام تسبق الحروف في الترتيب

- يكون الترتيب في الأرقام بناء علي خانة الآحاد , لأنه يتعامل معها كقيم نصية , فمثلا إذا كان لدينا القيم التالية (34 ,222, 52, 100) يكون ترتيبها بتلك الدالة هي 52   ,34, 222 , 100 )

**الصيغة العامة لها :

arrayName.sort ( );

مثال :

<HTML>

<HEAD>

<TITLE> Sort </TITLE>

<sort>

Var family = new Array ("father", "mother", "brother" , "sister");

</script>

</HEAD>

<BODY>

<script>

Var family1 = family1.join(",") + "<br>");

</script>

<BODY>

</HTML>

Java Script-44_03

Unshift ( )

- تقوم بإضافة عنصر في بداية المصفوفة , وبالتالي زيادة عدد عناصر المصفوفة

مثال :

<HTML>

<HEAD>

<TITLE> shift </TITLE>

<script>

Var family = new Array ("father", "mother", "brother", "sister");

</script>

</HEAD>

<BODY>

<script>

Document.write("old length is " + "" +family.length + "<br>");

Family.unshift("grandmother");

Document.write(family + "<br>");

Document.write("new length is" + ""+family.length + "<br>");

Family.unshift("grandfather");

Document.write(family + "<br>");

Document.write("new length is " + ""+family.length + "<br>");

</script>

</BODY>

</HTML>

Java Script-45_03

تعليقات

المشاركات الشائعة من هذه المدونة

الشاشة الإفتتاحية لإكسل

أوامر الجافا سكريبت JavaScript

مسائل علي الترانزستورات MOSFET