Have an account? Sign in
Login  Register  Facebook
This Page is Under Construction! - If You Want To Help Please Send your CV - Advanced Web Core (BETA)
[Edit] المصفوفات و الأوتار و الأرقام
في الدروس السابقة تعرفنا على المصفوفات arrays و على الأوتار strings أو سميناها بالنصوص, و الأرقام numbers ,و لكل واحدة منهم طريقتين للإنشاء الطريقة الأولى :
  • لإنشاء رقم var num=1
  • لإنشاء نص var txt="any text"
  • لإنشاء مصفوفةvar arr=[1,2,3]
و في هذه الحالة عند إستخدام typeof مع num و txt و arr في حالة الرقم سيكون الناتج number و في حالة النص سيكون الناتج string و في حالة المصفوفة سيكون الناتج object أما الطريقة الثانية فهي إنشائهم ككائنات .
  • لإنشاء رقم var num =new Number(1)
  • لإنشاء نص var txt=new String("any txt")
  • لإنشاء مصفوفة var arr=new Array(1,2,3)
و في هذه المرة إذا إستخدمنا typeof مع num و txt و arr سيكون الناتج object . و بما أنهم كائنات object إذن لكل منهم عدد من الدوال و الخصائص التي يمكن أن تستخدم مع كل منهم ,و من المفيد أنه بالنسبة لـلنصوص (strings) سواء كان النص معرف بالطريقة بالثانية و نوعه object أوالأولى و بالتالي نوعه string, فإنه يمكن إستخدام الدوال و الخصائص الخاصة بكائنه ٍString معه و سيتضح كيف ذلك في الجزء الخاص به في الدرس . المصفوفات الجداول التالية توضح بعض الخواص و الدوال الهامة الخاصة بالكائن Array جدول الخصائص
الخاصيةالوصف
lengthتعرف من خلاله عدد عناصر المصفوفة
جدول الدوال
الدالةالوصف
concatتقوم بدمج مصفوفتين في مصفوفة واحدة
reverseتعكس ترتيب عناصر المصفوفة
joinتوصل عناصر المصفوفة ببعضها مكونة منها وتر واحد
popتحذف آخر عنصر من عناصر المصفوفة و ترجع قيمة هذا العنصر
pushتضيف عنصر جديد إلى نهاية المصفوفة و ترجع عدد عناصر المصفوفة الجديد
sortترتب عناصر المصفوفة
و هذا المثال تطبيق على كيفية إستخدام هذه الدوال و الخواص :
دوال المصفوفات
<html>
<head></head>

<body>
<script language="javascript" type="text/javascript">
var array1=new Array("asmaa","fatma","nada","sara");
var array2=new Array("hadeer","aliaa","asmaa","gehad");
var array=array1.concat(array2);
for(i in array)
{
	document.write(array[i]+"<br/>");
}
var array=array.reverse();
var string=array.join("-");

document.write(string);

array.pop();

var string=array.join("-");
document.write("<br/>"+string);
array.push("Amira");
var string=array.join("-");
document.write("<br/>"+string);
array.sort();
var string=array.join("-");
document.write("<br/>"+string);
document.write("<br/>"+"the length is:"+array.length);
</script>

</body>
</html>

Try it yourself »Click on the "Try it yourself" button to see how it works

في المثال
  • قمنا بتعريف مصفوفتين array1 و array2 كل منهم تحتوى على بعض أسماء الفتايات .
  • بعد ذلك قمنا بدمج المصفوفتين في مصفوفة واحده array بإستخدام دالة concat
  • var array=array1.concat(array2);
    ثم بعد ذلك عرضنا محتويات المصفوفة array بإستخدام for in و ستجدها ظهرت في أعلى صفحة الناتج(الصف الأول).

    asmaa , fatma , nada , sara , hadeer , aliaa , asmaa , gehad ,

  • في السطر 13إستخدمنا reverse لعكس ترتتيب المصفوفة
  • var array=array.reverse();
    ثم قمنا بتحويلها إلى string بإستخدام الدالة join
    var string=array.join("-");
    ثم عرضنا الناتج و سيظهر في الصف الثاني الناتج.

    gehad-asmaa-aliaa-hadeer-sara-nada-fatma-asmaa

    لاحظ البرامتر الذي يعطى للدالة "-" يمثل الفاصل الذي يوجد بين عناصر المصفوفة عندما تتحول لوتر .
  • في السطر 18 إستخدمنا pop لحذف العنصر الأخير من المصفوفة
  • array.pop();
    و عند عرض محتويات المصفوفة ستكون كما في الصف الثالث :

    gehad-asmaa-aliaa-hadeer-sara-nada-fatma

  • في السطر 22 إستخدمنا push لإضافة عنصر جديد
  • array.push("Amira");
    و عند عرض محتويات المصفوفة بعض إضافة العنصر ستكون كما في الصف الرابع:

    gehad-asmaa-aliaa-hadeer-sara-nada-fatma-Amira

  • في السطر 25 إستخدمنا sort لترتيب عناصر المصوفة أبجديا فتكون عناصر المصفوفة كما تعرض في الصف الخامس
  • Amira-aliaa-asmaa-fatma-gehad-hadeer-nada-sara

  • في السطر 28 إستخدمنا الخاصية length لنعرض طول المصفوفة
  • document.write("<br/>"+"the length is:"+array.length);

Strings

جدول الخصائص
الخاصيةالوصف
lengthتعرف من خلالها عدد حروف الوتر
جدول الدوال
الدالةالوصف
toUpperCaseترجع النص بعد تحويل كل حروفه إلى حروف كبييرة
toLowerCaseترجع النص بعد تحويل كل حروفة إلى حروف صغيرة
charAtتعطيها رقم فترجع لك الحرف الذي ترتيبه في النص يساوي الرقم المعطى
substrترجع لك جزء من النص يبدأ من الحرف الذي ترتيبه الرقم الذي تعطيه لها
splitتحول النص إلى مصفوفة
indexOfتبحث في النص عن شيء تحدده لها
و الآن مع شرح كيف تستخدم هذه الدوال و الخصائص بالأمثلة : ملحوظة:في الأمثلة التالية يمكنك إستخدام أداة الـconsole تضع فيها الكود و سيظهر لك الناتج الذي يحدد عليه باللون الأصفر هنا.

خاصية length

"abcdefghijklmnopqrstuvwxyz".length;
فيــــكـــــون الـــنـــاتـــج 26

الدوال

toUpperCase()

var myString = "hello";
var myTransformedString = myString.toUpperCase();
myTransformedString;
فيــــكـــــون الـــنـــاتـــج "HELLO"

لاحظ أن النص المتحولة حروفه إلى حروف كبيرة يوجد في المتغير myTransformedString أما النص الأصلي فيبقى كما هو

myString;
فيــــكـــــون الـــنـــاتـــج "hello"

toLowerCase()

مثل toUpperCase لكنها تحول كل النص لحروف صغيرة.

charAt(x)

تأخذ أي رقم مكان x و ترجع الحرف الذي له ترتيب x كما بالأمثلة
"abcde".charAt(0);
فيــــكـــــون الـــنـــاتـــج "a"
"abcde".charAt(3);
فيــــكـــــون الـــنـــاتـــج "d"

في حالة كان x أكبر من عدد الحروف ترجع نص فارغ كما بالمثال:

"abcde".charAt(10);
فيــــكـــــون الـــنـــاتـــج ""

substr(x, y)

تأخذ رقم مكان x و هو رقم الحرف الذي سيبدأ من عنده الجزء الذي ترجعه الدالة أما المتغير y فهو إختياري و يحدد رقم الحرف الذي سينتهي عنده الجزءو الأمثلة التالية توضح كيفية عمل الدالة :
"abcde".substr(0, 2);
فيــــكـــــون الـــنـــاتـــج "ab"
"abcde".substr(1, 3);
فيــــكـــــون الـــنـــاتـــج "bcd"
"abcde".substr(1, 3);
فيــــكـــــون الـــنـــاتـــج "bcd"

split(x, y)

تأخذ متغيرين أو واحد أو لا شيء كما بالأمثلة:

في حالة متغير واحد فإنه يكون الحرف الذي يتم الفصل عنده كما بالمثال يتم الفصل عند وجود الفاصلة ","

"a,b,c,d,e".split(",");
فيــــكـــــون الـــنـــاتـــج["a", "b", "c", "d", "e"]

للفصل عند وجود المسافة

"a sentence split by words".split(" ");
فيــــكـــــون الـــنـــاتـــج["a", "sentence", "split", "by", "words"]

للفصل عند وجودة علامة |

"|a|b|c|".split("|");
فيــــكـــــون الـــنـــاتـــج["", "a", "b", "c", ""]

في حالة عدم إعطاء أي متغيرات للدالة ترجع مصفوفة فيها عنصر واحد هو النص كما بالمثال:

"a,b,c,d,e".split();
فيــــكـــــون الـــنـــاتـــج["a,b,c,d,e"]

في حالة إعطاء متغيرين يكون الثاني عدد عناصر المصفوفة المطلوب كما بالمثال:

"a,b,c,d,e".split(",", 3);
فيــــكـــــون الـــنـــاتـــج["a", "b", "c"]

indexOf(substring, start)

الدالة تأخذ متغيرين الأول substring و هو أساسي و يكون النص الذي تريد أن تبحث عنه أما الثاني start فهو إختياري و يحدد رقم الحرف الذي تريد ان يبدأ البحث من عنده و الأمثلة التالية توضح كيف تعمل الدالة:
"hello world".indexOf("world");
فيــــكـــــون الـــنـــاتـــج6
"hello world".indexOf("World");
فيــــكـــــون الـــنـــاتـــج-1

عندما يكون الناتج 1- يعني ذلك أنه لا يوجد ما تبحث عنه في النص لاحظ أن كلمة World تختلف عن world في أن الحرف الأول كبير في الأولى و لذا تعتبر كلمة مختلفة .

"hello world".indexOf("o", 5);
فيــــكـــــون الـــنـــاتـــج7

لاحظ أن البحث بدأ من أول الحرف الخامس فيكون أول حرف o يقابل الدالة ترتيبه 7 ولا تنظر لـ o الموجودة في hello لأنها قبل الحرف الذي له الترتيب 5.

November 26, 2011