مقدمة
الصفيف هو جزء مهم من JavaScript. يمكن استخدامه لتخزين السلاسل والكائنات والوظائف والأرقام. إنه قوي جدا. لذلك ، فإن الفهم العميق للمصفوفة هو الواجب المنزلي الإلزامي للواجهة الأمامية. إنه يوم الجمعة ، وبدأ قلب المدون في الارتفاع مرة أخرى. هل هناك أي عطلة نهاية أسبوع غدا؟ يمكنني الاستمتاع مرة أخرى.
إنشاء صفيف
هناك طريقتان أساسيتان لإنشاء المصفوفات ، إحداها حرفية ، والآخر يتم إنشاؤه باستخدام المُنشئين:
var arr = [1،2،3] ؛ // إنشاء قيم صفيف في شكل حرفي ويفصلها فواصل اللغة الإنجليزية
var arr = [1،2،3] ؛ // إنشاء قيم صفيف في شكل حرفي ويفصلها الفواصل الإنجليزية var arr1 = صفيف جديد (1،2،3) ؛ // ينشئ Constructor صفيفًا لإنشاء كائن صفيف من خلال المشغل الجديد // بالإضافة إلى ذلك ، يمكنك أيضًا حذف المشغل الجديد ، على الرغم من أنه لا ينصح بالقيام بذلك معظم الوقت. var arr1 = صفيف (1،2،3) ؛ حذف المشغل الجديد لإنشاء كائن صفيف. يشبه هذا الجملة إلى حد كبير PHP ، ولكن لا يمكن تحديد مفتاحه في JavaScript.
فهرس المصفوفة: أزواج القيمة الرئيسية
أخذ الحرفيين كمثال ، يحتوي كل عنصر صفيف على مفتاح مقابل ، والذي يمكن أن يسمى أيضًا [Subcript] و [INDEX]. يبدأ المفتاح الافتراضي في JavaScript من 0 ويحدد اسم المفتاح وفقًا لموضع عنصر الصفيف. يتم الاستعلام عن قيمة عنصر الصفيف من خلال اسم المفتاح. بناء الجملة العام هو صفيف [i]:
var sarr = ["Hello" ، "Java" ، "Script"] ؛ // أسماء المفاتيح المقابلة هي 0 ، 1 ، 2 console.log (sarr [0]) ؛ //مرحبًا
اطبع المصفوفات في وحدة التحكم Firefox ، ويمكنك رؤية علاقتها المقابلة في وحدة التحكم بوضوح:
على الجانب الأيمن من وحدة التحكم ، يتم سرد العلاقة المنطقية بين المفاتيح والقيم بطريقة بديهية للغاية. 0 يتوافق مع Hello ، 1 يتوافق مع Java ، و 2 يتوافق مع البرنامج النصي. أكثر شيوعًا ، يبدأ عدد صفيف JavaScript من 0 [0-1-2] == [1-2-3] الأول هو Hello ، والثاني هو Java ، والثالث هو البرنامج النصي ؛
كل صفيف له طول ، لا توجد قيمة 0 ، ويتم الحصول عليها من خلال طريقة الطول. طول الشكل أعلاه هو 3 ، والذي يمكن رؤيته بوضوح على الجانب الأيمن من وحدة التحكم. بالإضافة إلى ذلك ، يتم تقديم خدعة صغيرة. يمكن الوصول مباشرة إلى معظم قوائم السمات المدرجة في وحدة التحكم في وحدة التحكم في Firefox. يمكنك الوصول إليه من خلال رقم [Array.Length] أو الوصول [Array ["الطول"] من خلال شكل مفتاح ؛
خاصية طول الصفيف مميزة للغاية ----- إنها ليست قراءة فقط. لذلك ، من خلال تعيين هذه الخاصية ، يمكنك إزالة العناصر من نهاية الصفيف أو إضافة عناصر جديدة إلى الصفيف ، الكستناء:
var colors = ['Red' ، 'Blue' ، 'Green'] ؛ // قم بإنشاء صفيف من 3 سلاسل الألوان.
حذفت Shangli العنصر الأخير "الأخضر" للمصفوفة ويمكن أيضًا إضافته:
var colors = ['Red' ، 'Blue' ، 'Green'] ؛ // الطول الأولي للألوان هو 3. هذا الرمز يعادل الألوان [3] = "أسود" ؛ تنبيه (الألوان [3]) ؛ // أسود
نصائح 1:
لذا فإن السؤال هو ، في بعض الأحيان ، ينسى أصدقائي فجأة اسم سمة معين أثناء الإسقاط. ماذا علي أن أفعل؟
اطبعها إلى وحدة التحكم في Firefox ، انظر إلى خصائصها ، خذ كائن الموقع كمثال Console.log (الموقع):
console.log (الموقع) ؛
بعد الحصول على هذا ، هل من الأسهل بالنسبة لنا الحصول على قيمة معينة؟ على سبيل المثال ، إذا حصلت على عنوان عنوان URL الحالي [location.href] ، احصل على اسم المجال [location.hostname] ، وما إلى ذلك ، أو إذا كنت ترغب في الحصول على الطريقة على Windows ، فهذا هو نفسه ، وهو مريح للغاية ؛
مكدس الصفيف
ما هو مجموعة المصفوفة؟ وهذا يعني أنه يمكن التعبير عن المصفوفات ككدسات (هراء) فما هو المكدس؟
الفهم في الكود هو أن المكدس هو بنية بيانات يمكنها تقييد إدراج وحذف العناصر. المكدس عبارة عن Lifo (Last-in-First-Out-Off) ، أي أن أحدث عنصر مضاف يتم إزالته أولاً ، وأقدم العنصر المضافة في أسفل المكدس. انظر الصورة:
على غرار لبنات البناء ، يمكن دائمًا الحصول على لبنات البناء أدناه في النهاية. إذا وضعت في مكان جديد ، يتم تشكيل [كومة].
أخرجه في مكدس المصفوفة واتصل به [pop] ووضعه واتصل به [Push]
هناك طريقتان في صفيف JavaScript [pop ()] [Pushing Is Push ()]
var sarr = ["Hello" ، "Java" ، "Script"] ؛ Sarr.push ("Black") ؛ // سحب في BlackConsole.log (sarr [3]) // BlackConsole.log (sarr.pop ())طابور
قاعدة الوصول لبيانات المكدس هي LIFO (الأولى في ، ثم الخروج) ، في حين أن قاعدة الوصول لهيكل بيانات قائمة الانتظار هي FIF0 (أولاً ، أولاً خارج). غالبًا ما تستخدم قوائم الانتظار للحلقات من خلال المصفوفات وتعمل بشكل مستمر في المصفوفات ؛ تستخدم طرق قائمة الانتظار Shift () لإطفاء العناصر المتقدمة من المصفوفات ، أي العناصر التي تحتوي على مشترك من 0.
var sarr = ["Hello" ، "Java" ، "Script"] ؛ console.log (sarr.shift ()) ؛ // Hello // Shift يشبه طريقة البوب. تنبثق البوب من نهاية المصفوفة والتحول من بداية وحدة التحكم في المصفوفة (sarr [0]) ؛ // قد برزت Java Hello
استخدم طريقة Shift لتشكيل قائمة انتظار:
var sarr = ["Hello" ، "Java" ، "Script"] ؛ var alf = sarr.shift () ؛ // قم بإخراج العنصر الأول sarr.push (alf) ؛ // insert to console.log (sarr) ؛ // ['Java' ، 'Script' ، 'Hello']
من خلال جهاز التوقيت setInterval ، يمكننا أن نحلق باستمرار من خلال كل عنصر صفيف. تم شرح منشور المدونة السابق. "Portal SetTimeout و SetInterval Timer ومجموعة حلقة غير متزامنة.
setInterval (function () {console.log (sarr [0]) ؛ // طباعة العنصر الأول var alf = sarr.shift () ؛ // قم بإخراج العنصر الأول sarr.push (alf) ؛ // insert حتى نهاية المصفوفة} ، 1000) ؛سوف يستمر Shangli في طباعة نص Java Hello
نحن نعلم أن المصفوفات يمكنها تخزين القيم من أي نوع. لذلك نضع الوظائف التي يجب تنفيذها في حلقة في الصفيف ثم نستخدم طريقة قائمة الانتظار لتنفيذها باستمرار ، ثم يمكننا حلقة الطرق في قائمة الانتظار:
وظيفة Hello () {console.log ("Hello") ؛} وظيفة Java () {console.log ("java") ؛} script () {console.log ("script") ؛} var sarr = [hello ، java ، script] ؛ sarr.push (alf) ؛ alf () ؛ // تنفيذ طريقة} ، 1000) ؛يمكنه أيضًا طباعة حلقات نصوص Hello Java ، لكنها أكثر قوة
ملخص أساليب المصفوفات المشتركة
1. فرز
هناك بالفعل طريقتان في صفيف JavaScript يمكن استخدامه مباشرة لإعادة ترتيب: RESERD () و sort ().
عكس () إعادة ترتيب الفلاش باك:
var sarr = [1،2،3،4،5،6] ؛ console.log (sarr.reverse ()) ؛ // 6،5،4،3،2،1
هناك أيضًا طريقة أكثر قوة ()
يعيد التصنيف الافتراضي () الصفيف في ترتيب تصاعدي. تجدر الإشارة إلى أن الفرز سوف يطلق على طريقة ToString () لكل عنصر ، وبالتالي يعتمد الحجم الفعلي من الفرز على سلاسل:
var sarr = [6،2،2،4،5،6] ؛ console.log (sarr.sort ()) ؛ // 2،2،4،5،6،6 Order Order var Sarr = [6،2،2،11،4،5،6] ؛ console.log (sarr.sort ()) ؛ // 11،2،2،4،5،6،6
حجم المقارنة الفعلي من الفرز هو سلسلة. طريقة المقارنة للسلسلة عمومًا لمقارنة الحرف الأول في الحرف ، لذلك "11 '<2' a '<' b '
يمكن أن يمر الفرز أيضًا بوظيفة كمعلمة ، والتي يمكن أن تعيد تعريف طريقة الفرز للمصفوفة:
الوظيفة مقارنة (VAL1 ، VAL2) {// Sorte يمرران معلمتين من القيمة 1 والقيمة 2IF (VAL1 <VAL2) {// عندما تكون القيمة 1 أقل من القيمة 2 الإرجاع -1 تعني نقل القيمة 1 إلى الأمام بواسطة إرجاع موضع واحد -1 ؛ } if if (val1> val2) {return 1 ؛} else {return 0 ؛}} var sarr = [6،2،2،11،4،5،6] ؛ console.log (sarr.sort (مقارنة)) ؛ // [2 ، 2 ، 4 ، 5 ، 6 ، 6 ، 11] نقارن في الوظيفة والنتيجة النهائية طبيعيةإذا كان [Val1 <Val2] يعود 1 أكثر من الإرجاع -1 ، فيمكننا ترتيبها في وميض ؛ يمكننا أيضًا تحديد طريقة الفرز بأنفسنا ؛
2. صفيف عامل
① انسخ صفيف وحفظ (استنساخ) يمكن أن تنشئ طريقة concat () مجموعة جديدة تعتمد على جميع العناصر في الصفيف الحالي. عند تمرير المعلمات ، سيضيف المعلمات إلى نهاية الصفيف معًا.
var sarr = ["Hello" ، "Java" ، "Script"] ؛ var farr = sarr.concat ("!") ؛ console.log (farr) ؛ // ["Hello" ، "Java" ، "Script" ، "!" ]② شريحة () يمكن أن تنشئ صفيفًا جديدًا يعتمد على عنصر واحد أو أكثر في الصفيف الحالي. يمكن أن تقبل 1 أو معلمتين ، أي المواضع البداية والنهاية للعنصر المراد نسخه. معلمة واحدة فقط لها الموضع النهائي الافتراضي في نهاية الصفيف ، بحيث يمكنها أيضًا استنساخ صفيف ؛
var sarr = ["Hello" ، "Java" ، "Script"] ؛ var farr = sarr.slice (0) ؛ console.log (farr) ؛ // ["hello" ، "java" ،
لخص
المصفوفات جزء مهم للغاية في جافا سكريبت. تعلمه جيدًا يمكن أن يبسط الكود في العمل. في كثير من الأحيان ، يمكنك محاولة وضعها في صفيف وأداء سلسلة من العمليات من خلال طريقة الصفيف. إن منشور المدونة محدود في الطول ، ولكن لا يوجد حد للتعلم. آمل أن يتمكن الجميع من التعلم بسعادة وإتقان تطورك الأمامي بشكل أسرع!
ما ورد أعلاه هو تحليل للطرق الشائعة للصفائف في JavaScript التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!