المصفوفات في 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>
- أما عند عناصر المصفوفة كلها , فيكفي ذكر أمر الإخراج مع اسم المصفوفة فقط
Document.write (family);
- يمكن طباعة عناصر المصفوفة أيضا بإستخدام الأسلوب 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>
إنشاء مصفوفة تحتوي علي مصفوفة :-
يمكن أن تحتوي المصفوفة علي عناصر ذات أنواع أو قيم مختلفة في نفس المصفوفة , علي سبيل المثال : مصفوفة تحتوي علي عنصر نصي , وآخر عبارة عن متغير , وثالث عبارة عن رقم.
وعناصر المصفوفة يمكن أن تكون أيضا عناصر , أو قيم منطقية , وبإستخدام مصفوفة كاملة كعنصر في مصفوفة أخري تكون عملية إنشاء ما يشبة مصفوفات متعددة الأبعاد .
قم بتعريف مصفوفتين ثم خصص مصفوفه لتكون عنصرا في الأخري :-
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>
خاصية طول المصفوفة 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>
طرق المصفوفات 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>
لاحظ طول المصفوفة الجديدة عبارة عن مجموع طولي عناصر المصفوفتين , 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>
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>
لاحظ الإختبار بمعرفة طول المصفوفة بعد كل تطبيق للطريقة 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>
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>
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>
لاحظ الإختبار لمعرفة طول المصفوفة بعد كل مرة نطبق فيها الطريقة 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>
- لاحظ أن العنصر رقم 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>
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>
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>
تعليقات
إرسال تعليق