;
جافا سكريبت الصفوف
لأن الأشياء هي مجموعات من الممتلكات مع وجود كل الممتلكات الخاصة بها اسم وقيمة ، هي في الواقع جافا سكريبت المصفوفات الأجسام. كل الممتلكات في مجموعة من عنصر ، ولكل عنصر من عناصر يمكن تعيين قيمة. طريقة واحدة للتفكير في طائفة كما هو مجموعة من المتغيرات معدودة. طائفة في جافا سكريبت وقد العامة التالية نماذج لتحديد القيم لعناصر : sampleArr [0] = 1 ؛ sampleArr [1] = "الآيس كريم" ؛ sampleArr [2] = 55 * (7 + ألفا) ؛ sampleArr [3] = shootTheMoon (73) ؛ sampleArr [4] = otherArr ([7]) ؛ أو sampleArr = مجموعة جديدة (1 ، "الآيس كريم" ، (55 * (7 + ألفا)) ، shootTheMoon (73) ، otherArr [17]) ؛ أو ، في جافا سكريبت 1.2 أو في وقت لاحق : sampleArr = [1 ، "الآيس كريم" ، (55 * (7 + ألفا)) ، shootTheMoon (73) ، otherArr [17]] ؛ كل ثلاثة صفائف متطابقة ، باستخدام طرق مختلفة للبيانات الاحالة. الثانية اثنين من طرق وتظهر طائفة إلى أن تكون أكثر من الجسم ، في حين أن الطريقة الأولى يظهر المتغيرة مثل خصائص المصفوفات. في جافا سكريبت ، مع مجموعة من العناصر تبدأ 0 ويمكن بأرقام مسلسلة أو nonsequentially. في الثانية واثنين من الأمثلة السابقة ، والعنصر الأول هو 0 ، وغيرها من البيانات مفصولة بفواصل هي بأرقام مسلسلة. ولكن ، هل يمكن أن يكون لها احالة البيانات التالية في مجموعة من : alphaArr [0] = "مكتب الأمم المتحدة" ؛ alphaArr [7] = "دوس" ؛ alphaArr [345] = "تريس" ؛ عادة ، هي صفائف بأرقام مسلسلة حتى أن البيانات يمكن أن تضاف وانتزعت باستخدام الحلقات. ومع ذلك ، مجموعة من العنصر يمكن أن يكون دعا إليها في أي أمر وتستخدم مثل متغير. البيانات وأنواع البيانات التي يمكن المسندة إلى مجموعة من العناصر هي مطابقة لبيانات وأنواع البيانات التي يمكنك أن تخصص المتغيرات. يمكنك أيضا أن تجد الأشياء يمكنك أن تخصص نفس أنواع من البيانات. (تذكروا أن مجموعة من هو جسم لأنها تتألف لأكثر من واحد في الممتلكات.) إنشاء مجموعةصفائف يتم إنشاؤها باستخدام البناء ، مثلها مثل غيرها من الأشياء. المصفوفة () البناء ويستخدم الشكل التالي : فار أجزاء = مجموعة جديدة () ؛ الآن ، هو مجموعة من أجزاء الجسم ، ويمكنك إضافة البيانات كما في الشكل التالي : أجزاء [0] = "البراغي" ؛ أجزاء [1] = "المكسرات" ؛ وكما هو الحال في اعلان متغير ، تحتاج إلى بيانات لم تدخل على اعلان طائفة ، ولكن يمكنك. على سبيل المثال ، قد يعلن وتحديد مجموعة كثيفة باستخدام المصفوفة () البناء : أجزاء جديدة فار = مصفوفة ( "البراغي" ، و "جوز" ، و "غسيل" ، و "مسامير") ؛ يمكنك أيضا إنشاء مجموعة من البعد باستخدام حجة. إذا كنت تعرف قبل الموعد المحدد كم عدد العناصر في المصفوفة الخاصة بك ، يمكنك أن تعلن أنها وتحديد البعد لأنه في الوقت نفسه. (في بعض اللغات ، لا سيما الأقدم منها ، هل هناك حاجة ليشمل البعد عن طائفة إلى الاحتياطي الخاص بك الذاكرة للطائفة.) على سبيل المثال ، إذا كنت تقوم بإنشاء مجموعة من مجلس الشيوخ الامريكي وتعلمون أن لديك سوى 100 من اعضاء مجلس الشيوخ ، هل يمكن أن تعلن مجموعة والبعد الخاص بك على النحو التالي : فار = مجموعة جديدة من اعضاء مجلس الشيوخ (100) ؛ مرة واحدة أعلنت وأبعاد ، يمكنك إضافة عناصر 100 ، ولكن أول عضو مجلس الشيوخ من شأنه أن يكون هذا : أعضاء مجلس الشيوخ [0] آخر سيكون هذا : أعضاء مجلس الشيوخ [99] هل لا يزال الحصول على 100 عناصر ، ولكن يجب أن يبدأ 0 بدلا من 1. الإعلان باستخدام البعد الحجة هي الاستثناء من القاعدة الأولى أن قيمة البيانات في مجموعة كثيفة (واحد في البيانات التي ترد بين قوسين) يعتبر عنصرا 0. 0 عنصر في المصفوفة سيكون أول بيانات الاحالة بعد الإعلان. فعلى سبيل المثال ، بعد إعلان أول أبعاد المصفوفة في 5 وبعد ذلك دخلت أول مجموعة من عناصر (0) في 7 على النحو التالي خط : فار catWeights = مجموعة جديدة (5) ؛ catWeights (7،15،34،52،60) ؛ البيانات الرقمية القيمة 5 ليست قيمة من أي من مجموعة من العناصر. ومن طول المصفوفة ، مع عناصر تتراوح بين 0-4. ملاحظة أنا استخدم بطاقة <scriptlanguage="JavaScript"> دون تحديد الصيغة عدد من جافا سكريبت. لا لزوم لتحديد رقم الإصدار للحصول على أحدث نسخة من جافا سكريبت مدعوم من قبل متصفحك. عند استخدام البعد حجة مع نتسكيب المستكشف 4 (NN4) وفي وقت لاحق ، هل سيستمر إلى علة إذا قمت بتحديد <scriptlanguage="JavaScript1.2"> وبعد ذلك محاولة لمجموعة من البعد. NN4 + يعامل الإعلان مع البعد قيمة بوصفها أول قيمة في المصفوفة بدلا من طول المصفوفة. فعلى سبيل المثال ، في محاولة النص التالي : <html> <head> <scriptlanguage="JavaScript1.2"> اختبار فار = مجموعة جديدة (23) document.write (test.length) ؛ </ سكريبت> </ رئيس> <body> </ هيئة> </ هتمل> عند تشغيل البرنامج النصي باستخدام NN4 أو في وقت لاحق ، 1 يظهر على الشاشة. إذا قمت بإزالة 1.2 سمة من <script>العلامة ، وعاد هو قيمة 23 ، طول الصحيح. لأن يدير جافا سكريبت 1.5 فقط من الطراز الأول في نتسكيب 6 المستكشف دون تحديد الصيغة في عدد <script>العلامة ، وأحدث نسخة للإنترنت إكسبلورر أيضا تسير على ما يرام ، دون تحديد عدد النسخة ، لأنني أفضل ترك جميع أعداد النسخة كما العادة. وبهذه الطريقة ، يمكن تجنب البق وتمتد أكثر متصفح جافا سكريبت والنسخ. نهائي طريقة لتعلن مجموعة باستخدام جافا سكريبت أو 1.2 في وقت لاحق يسمى مجموعة الحرفي. الإعلان يستخدم بدلا من الأقواس وبين قوسين لا يتطلب المصفوفة () البناء. وجوه اسم المصفوفة هو ببساطة أعلنت من جانب تحديد القيم لأنها بين قوسين ، كما يظهر النص التالي : <html> <head> <scriptlanguage="JavaScript"> فار ليرة = [ "نعم" أو "لا" ، و "ربما"] ؛ document.write (ليرة [2]) ؛ </ سكريبت> </ رئيس> <bodybgcolor=#face00> </ هيئة> </ هتمل> مجموعة الحرفي ليرة تقريبا تبدو مثل تعريف متغير ، ولولا الوارد بين قوسين قائمة من القيم. باستخدام مجموعة من الحرفي ينقذ زوجين من خطوات البناء لأنه لم يستخدم ، ولكن كبار السن المتصفحات (هذه من قبل دعم جافا سكريبت 1.2) فهم لن بوصفها طائفة. مجموعة من خصائص وأساليببأنه جسم ، وقد المصفوفات واحد الممتلكات ، وطول ، وعدة طرق. ومع ذلك ، نيتسكيب المستكشف 4 عرض خمسة طرق ، Array.pop () ، Array.push () ، Array.shift () ، Array.unshift () ، وArray.splice () ، التي لا تؤيد إما عن طريق إنترنت إكسبلورر أو EMCA - 262 معيار. لتجنب المشاكل ولكن لتكون شاملة ، لقد وضعت NN4 + مجموعة من الأساليب في الفرع لتنبيهك إلى أن مستخدمي شركة آي إي لن تحليل لهم بشكل صحيح. جميع التحسينات مثل جافا سكريبت لا تدعمها EMCA المعايير ، وأنا لا نوصي باستخدام هذه الأساليب لإنشاء المواقع على شبكة الإنترنت أن نتوقع أن يكون المشاهدين على حد سواء باستخدام متصفحات الرئيسية. مجموعة من الطولطائفة واحدة الطول عائدات ممتلكات عدد من العناصر في مجموعة. عند استخدام حلقة ، شرط لا بد منه لاختبار حلقة يمكن طول المصفوفة حتى إنك لا تحتاج إلى استخدام قيمة ثابتة للاختبار. الشكل هو على النحو التالي : Array.length الممتلكات يسهل انتقاله إلى متغير ، كما يظهر عينة التالية : فار الكلاب = مجموعة جديدة ( "بيغل" ، و "الكلب" ، و "الكولي" ، و "المغفل") ؛ فار dogTail = dogs.length ؛ المتغير dogTail سيكون له بسبب طول مدة 4 أربعة عناصر تشكل مجموعة. طول الممتلكات لا تشير إلى عدد من الشخصيات التي تشكل عنصرا في مجموعة ، لكنه يشير إلى عدد من العناصر نفسها. وهكذا ، الصفيف التالية قد بطول 2 ، حتى ولو حرفا وتستخدم أكثر مما كان عليه الحال في المثال الأول مع بطول 4 : فار الكلاب = مجموعة جديدة ( "السويسرية الكبرى للجبال الكلب" ، "الأيرلندية Wolfhound") ؛ السلسلة عناصر من مجموعة : الانضمام () ، toString () ، وconcat ()وقد Array.join () طريقة يأخذ كل من القيم في كل من العناصر في مجموعة واحدة كبيرة ويخلق سلسلة. فعلى سبيل المثال ، محاولة خارج النص التالي : joinArray.html<html> <head> <scriptlanguage="JavaScript"> فار الأشجار = مجموعة جديدة ( "العلم" ، و "باين" ، و "أوك") ؛ فار bigBush = trees.join () ؛ document.write (bigBush) ؛ </ سكريبت> </ رئيس> <bodybgcolor=#ace007> </ هيئة> </ هتمل> النتائج محتويات المصفوفة مطروحا بين علامتي اقتباس ، تظهر لكم الدردار ، الصنوبر ، اوك. وقد Array.join () طريقة تقبل الجدل أن تقوم بدور فاصل. وأيا كان مكان لكم في الانضمام () بين قوسين داخل علامات اقتباس يحل محل الفواصل. فعلى سبيل المثال ، تغيير هذا الخط : فار bigBush = trees.join () ؛ إلى فار bigBush = trees.join ( "و") ؛ بعد ذلك ، شن السيناريو مرة أخرى لنتيجة مختلفة. الثانية هي النتائج الدردار والصنوبر والبلوط. أكبر سنا من جافا سكريبت 1.1 الطريقة التي مماثل لArray.join () طريقة Array.toString (). وقد toString () طريقة تولد نفس النتائج على النحو الانضمام () ، ولكن لا يمكنك ان تحدد الشخصيات التي تربط بين العناصر كما يمكنك الانضمام مع (). هناك طريقة ثالثة لاستخدام السلسلة في سلسلة عناصر صفائف هو Array.concat (). ليس فقط هل concat () طريقة الانضمام إلى جميع العناصر الموجودة ، لكنه أيضا يضيف عناصر في concat () حجة. فعلى سبيل المثال ، عن طريق تغيير طفيف joinArray.html البرنامج النصي ، يمكنك ان ترى كيف تعمل. concatArray.html<html> <head> <scriptlanguage="JavaScript"> فار الأشجار = مجموعة جديدة ( "العلم" ، و "باين" ، و "أوك") ؛ فار biggerBush = trees.concat ( "القيقب" ، و "الجميز") ؛ فار bigBush = trees.join () ؛ document.write (biggerBush) ؛ في حالة تأهب (bigBush) ؛ </ سكريبت> </ رئيس> <bodybgcolor=#ace007> </ هيئة> </ هتمل> وهناك جزء هام جدا من concatArray.html السيناريو هو أن تستطيع أن ترى أن Array.concat () لا تغيير طريقة محتويات المصفوفة. فإن مجموعة من الأشجار اسمه لا يزال ثلاثة عناصر فقط. وهذا هو الدليل على ذلك أن رسالة التنبيه ويبين ثلاثة عناصر فقط ، حتى وإن كان تعريف متغير bigBush بعد biggerBush تعريف متغير واضاف القيقب والجميز البيانات إلى مزيج. إضافة إلى مجموعة من العناصر ، لكم إسناد قيم جديدة لعناصر اسمه. فعلى سبيل المثال ، لتشمل القيقب والجميز البيانات إلى المصفوفة ، هل يمكن أن يكتب هذا : أشجار [3] = "القيقب" ؛ / / والعنصر الرابع هو الأول منذ 3 هي 0 أشجار [4] = "الجميز" ؛ تغيير ترتيب مجموعة : النوع () وعكس ()اثنين الأساليب المتاحة لتغيير النظام من مجموعة من العناصر. أول أنواع المصفوفة سلسلة العناصر حسب الترتيب الأبجدي ، والثاني يعكس على النظام. وقد Array.sort () طريقة بسيطة جدا ، وخاصة عند استخدام الجمل. وبعد دخول كل من الجمل في المصفوفة ، لكم فقط أدخل اسم للمجموعة وطريقة ، وطائفة هو أمر حسب الترتيب الأبجدي. المثال التالي يوضح كيفية ذلك النوع على حد سواء () الطريقة والكيفية التي يعمل بها مجموعة من العناصر المستخرجة مع حلقة بيان. sortArray.html<html> <head> <scriptlanguage="JavaScript"> فار = حديقة الحيوان الجديدة مصفوفة ( "الحمر الوحشية" ، و "أسود" ، "القردة" ، و "النمور") ؛ zoo.sort () ؛ فار newZoo = "" ؛ ل(فار مكافحة = 0 ؛ مضادة <zoo.length ؛ مضادة + +) ( newZoo + = (حديقة الحيوان [مكافحة] + "<br>") ؛ ) document.write ( "أبجدية <p>الحيوانات <p>" + newZoo) ؛ </ سكريبت> </ رئيس> <bodybgcolor="lightsteelblue"> </ هيئة> </ هتمل> من كل قيم هي في مرتبة حسب الترتيب الأبجدي. القرود أسود النمور والحمر الوحشية لترتيب قوائم من أي نوع ، ستجد Array.sort () طريقة دليل عمل. وقد Array.reverse () يعكس ببساطة طريقة ترتيب البيانات في مصفوفة. العنصر الأول يصبح العنصر الأخير ، وكل شيء آخر في مجموعة عكس كذلك. فعلى سبيل المثال ، ما يلي : فار majorCities = مجموعة جديدة ( "طوكيو" ، و "لوس أنجلوس" ، و "باريس" ، و "بكين" ، و "بلومفيلد") marjorCities.reverse () ؛ سيعود هذا : بلومفيلد ، بكين ، باريس ، لوس أنجلوس ، طوكيو باستخدام Array.sort () وArray.reverse () في الحفلة ، يمكنك تغيير التصاعدي والتنازلي أوامر من فرز قائمة. استخراج Subarrays : شريحة ()لتحديد subarray ، استخدام Array.slice (). الهيئة العامة للاستخدام شريحة () ويرد هنا : ArrayName.slice (تبدأ ، نهاية) أو ArrayName.slice (لتبدأ نهاية) فعلى سبيل المثال ، إذا كان لديك هذه البيانات : الحاسوب = [ "ديل" ، و "بوابة" ، و "آبل" و "آي بي إم" ، و "إتش بي"] ؛ computer.slice (2،4) ؛ عودتك ستكون التفاح ، آي بي إم باستخدام واحد حجة يأخذ عنصر من الحجة إلى نهاية المصفوفة على النحو الذي حددته حجة. على سبيل المثال : computer.slice (2) ؛ سيعود التفاح ، آي بي إم ، إتش بي ، أعداد سلبية تشكل النهائية نوع من الحجة المستخدمة في Array.slice () طريقة. القيمة السالبة ليبدأ مع العنصر الأخير في المصفوفة كما -1 وبعد ذلك عد الى الوراء نحو العنصر الأول. فعلى سبيل المثال ، بيان من مثال في هذا الباب : computer.slice (-1) هذه العودة : إتش بي وخلافا للعد إلى الأمام أن تبدأ مع شرائح 0 ، والعنصر الأخير في مجموعة من اسمه هو -1 باستخدام شريحة () مع مجموعة من طريقة. المستكشف 4 الأساسي الصف طريقة التنفيذ : البوب () ، دفع () ، والتحول () ، unshift () ، ولصق ()هذه مجموعة من أساليب الماضي ويضيف قدرا كبيرا من فائدة للعمل مع المصفوفات ، ويمكنك أداء عمليات مثل كومة - مع مجموعة. إذا كنت من أي وقت مضى في برامج مكتوبة الرابع لمدونة أو مكتوبة بوست سكريبت ، كنت قد عملت مع كومة ، والبوب () ودفع () مألوفة. كل من الدول الخمس هي وصف موجز قصير مع تفسير ويقوم على أساس واحد المثال التالي : فار stackWork = مجموعة جديدة ( "ليني" ، و "هارولد" ، و "ماري" ، و "جان" ، و "سال") ؛ Array.pop () يزيل عنصر آخر من طائفة والعودة. stackWork.pop () ؛ العودة سال ويبعده عن طائفة. وإذا كانت الثانية مطابقة للبيان الذي أدلى المقبل على الخط ، وانها ستعود جان. Array.push () ويضيف قيمة إلى نهاية المصفوفة (أعلى من كومة) وتترك هناك. بإضافة السطر التالي ، سلسلة ديليا سوف تصبح قيمة جديدة إلى عنصر آخر يضاف إلى مجموعة كبيرة من جانب دفع () الطريقة : stackWork.push ( "ديليا") ؛ في البوب () عملية ، وانها ستكون اول مرة واحدة (LIFO - في الماضي ، قبالة الأولى). Array.shift () يزيل العنصر الأول في مجموعة والعودة. فعلى سبيل المثال ، من شأن ذلك عودة ليني ، إزالته من مجموعة ، وتحول العناصر المتبقية الى اليسار : stackWork.shift () ؛ وسوف تصبح عنصرا 0 هارولد. Array.unshift () هو مماثل لدفع () طريقة ، إلا أن العنصر الجديد هو وضع في مقدمة من مجموعة (الجزء السفلي من كومة). اذا كنت دخلت التالية ، العنصر الأول (العنصر 0) في المصفوفة سيكون له قيمة Willie ، فإن قيمة ليني سوف تحول إلى الحق في العنصر 1 ، وذلك لكامل طائفة : stackWork.unshift ( "Willie") ؛ وأخيرا ، Array.splice () هو طريقة تستخدم لتضاف ، حذف ، وبديلا القيم في مجموعة من العناصر. هذا الأسلوب ثلاث حجج ، بداية ، حذف ، والبيانات. البداية موقف تحدد فيها قيمة جديدة (البيانات) هو عبارة وحيث يبدأ الحذف. وإذا لم يتم حذف المحدد ، ولصق () طريقة قد أثر بإدراج عنصر وقيمة إلى مجموعة. فعلى سبيل المثال ، ليوضح كيف التالية تضاف قيمة فريد في العنصر الثاني ، ترك الأولى كما هو ، وتحويل الباقي الى الحق في : stackWork.splice (1،0 ، "فريد") ؛ وقد وصل حبلين () طريقة تسمح لك لإدراج عناصر ، حذف واحد أو أكثر من العناصر ، أو تغيير القيمة من مجموعة من العناصر. أنت قد تجد أن هذه المهام لا تعمل في بعض من كبار السن من المتصفحات ، لكن IE5 + + NN4 والعمل معهم جيدا. مقال مقدم جورج Freedrich
|
|||
|