تختلف أنواع الصفيف في JavaScript تمامًا عن تلك في اللغات الأخرى. يمكن لكل عنصر في JavaScript الاحتفاظ بأي نوع من البيانات. علاوة على ذلك ، يمكن ضبط حجم صفائف JavaScript ديناميكيًا ويمكن أن تنمو تلقائيًا عند إضافة البيانات لاستيعاب البيانات الجديدة .
هناك نوعان أساسيان لإنشاء صفيف.
1. مُنشئ
var cities = new array () ؛
إذا كنت تعرف عدد العناصر التي سيتم حفظها مقدمًا ، فيمكنك أيضًا نقل هذا الرقم إلى المُنشئ ، والذي سيصبح تلقائيًا قيمة سمة الطول.
var cities = صفيف جديد (3) ؛
يمكنك أيضًا تمرير العناصر التي يجب تضمينها في الصفيف إلى مُنشئ الصفيف.
Var Cities = Array New ("Shanghai" ، "Beijing" ، "Shenzhen") ؛يمكن حذف المشغل الجديد عند إنشاء صفيف:
Var Cities = Array (3) ؛ // إنشاء صفيف يحتوي على 3 عناصر
2. صفيف التمثيل الحرفي
يتم تمثيل التدوين الحرفي الصفيف بزوج من الأقواس المربعة التي تحتوي على عناصر صفيف ، مفصولة بفواصل ، على النحو التالي:
Var Cities = ["Shanghai" ، "Beijing" ، "Shenzhen"] ؛ var cities = [] ؛ // إنشاء سلسلة فارغة
عند القراءة والتعيين قيمة صفيف ، استخدم قوسين مربعًا وقم بتوفير فهرس رقمي يعتمد على 0 (استنادًا إلى 0 هو حساب من 0 ، والمصطلح الأول هو 0 ، والمصطلح الثاني هو 1 ، وما إلى ذلك) ، كما هو موضح أدناه:
Var Cities = ["Shanghai" ، "Beijing" ، "Shenzhen"] ؛ Alert (Cities [0]) ؛ // "شنغهاي" مدن [1] = "Hongkong" ؛ // قم بتعديل العنصر الثاني "بكين" إلى "مدن هونغكونج" [3] = "تايوان" // إضافة عنصر جديد
يتم حفظ عدد العناصر الموجودة في الصفيف في خاصية الطول ، وليس للقراءة فقط . لذلك ، من خلال تعيين خاصية الطول ، يمكنك إزالة العناصر من نهاية الصفيف أو إضافة عناصر جديدة إلى الصفيف.
Var Cities = ["Shanghai" ، "Beijing" ، "Shenzhen"] ؛ Cities.Length = 2 ؛ ALERT (CITIES [2]) ؛ // غير محدد
باستخدام خاصية الطول هذه ، يمكنك إضافة عناصر جديدة في نهاية المصفوفة:
var cities = ["Shanghai" ، "Beijing" ، "Shenzhen"] ؛ Cities [Cities.Length] = "Hongkong" ؛
1. اكتشف الصفيف
أضافت ECMASCRIPT5 طريقة Array.isarray () ، وهي تحديد ما إذا كانت القيمة عبارة عن صفيف ، بغض النظر عن بيئة التنفيذ العالمية التي يتم إنشاؤها. الاستخدام كما يلي:
if (array.isarray (value)) {// قم بإجراء بعض العمليات على الصفيف}2. طريقة التحويل
تحتوي جميع الكائنات على طرق tolocalestring () و tostring () و valueof (). تسمى طريقة ToString () للمصفوفة tostring () لإرجاع سلسلة مفصولة مفصولة مقسمة من شكل سلسلة من كل قيمة في الصفيف. على سبيل المثال:
Var Cities = ["Shanghai" ، "Beijing" ، "Shenzhen"] ؛ Alert (Cities.ToString ()) ؛ // Shanghai ، Beijing ، Shenzhenert (cities.valueof ()) ؛ // Shanghai ، Beijing ، Shenzhenert (Cities) ؛ // Shanghai ، Beijing ، Shenzhenert (Cities) ؛ // شنغهاي ، بكين ، شنتشن
ملاحظة: نظرًا لأن ALERT () يحتاج إلى تلقي معلمات السلسلة ، فإنه سيتصل بالطريقة TOSTRING () في الخلفية ، لذلك ستحصل على نفس النتيجة لاستدعاء طريقة TOSTRING () مباشرة.
بالإضافة إلى ذلك ، فإن طريقة tolocalestring () غالبًا ما تُرجع نفس قيمة tostring () و valueof (). الفرق هو أنه من أجل الحصول على قيمة كل عنصر ، تسمى طريقة tolocalestring () لكل عنصر ، بدلاً من طريقة toString (). على سبيل المثال:
var p1 = {tolocalestring: function () {return "p1 p1 tolocalestring" ؛ } ، toString: function () {return "p1 toString" ؛ }} ؛ var p2 = {tolocalestring: function () {return "p2 tolocalestring" ؛ } ، toString: function () {return "p2 toString" ؛ }} ؛ var p = [p1 ، p2] ؛ تنبيه (P) ؛ التنبيه (p.toString ()) ؛ تنبيه (p.tolocalestring ()) ؛توضح النتيجة أن طريقة tostring تسمى في الخطين الأول والثاني ، ويتم استدعاء طريقة التولوكالستور في السطر الثالث.
ستعيد أساليب tolocalestring () و tostring () و valueof () الموروثة بواسطة الصفيف عناصر الصفيف في شكل سلاسل مفصولة بفاصلة بشكل افتراضي. باستخدام طريقة Join () ، يمكنك استخدام أحرف مختلفة لتقسيم السلسلة ثم إرجاع السلسلة التي تحتوي على جميع عناصر الصفيف.
Var Cities = ["Shanghai" ، "Beijing" ، "Shenzhen"] ؛ Alert (Cities) ؛ // شنغهاي ، بكين ، شنتشنيرت (المدن.
3. طريقة المكدس
المكدس هو بنية بيانات أخيرة (LIFO) ، ويمكن أن يحدث إدخال وإزالة عناصر البيانات في المكدس فقط في الجزء العلوي من المكدس. توفر صفائف JavaScript طرق Push () و pop () لتنفيذ السلوك الشبيه بالمكدس.
Push () طريقة
يمكنك أخذ أي عدد من المعلمات ، وإضافتها إلى نهاية الصفيف ، وتعديل طول الصفيف.
var params = new array () ؛ var count = params.push ("a" ، "b") ؛ ALERT (params) ؛ // a ، balert (count) ؛ // 2من المثال أعلاه ، يمكننا أن نرى أن عدد المصطلحات المدرجة التي تم إرجاعها بواسطة طريقة PUSH ().
طريقة البوب ()
قم بإزالة العنصر الأخير من نهاية الصفيف ، وتقليل طول الصفيف ، وإرجاع العنصر الذي تمت إزالته.
var params = new array () ؛ var count = params.push ("a" ، "b" ، "c") ؛ var item = params.pop () ؛ Alert (item) ؛ // Calendart (params.length) ؛ // 24. طريقة قائمة الانتظار
قاعدة الوصول لهيكل بيانات قائمة الانتظار هي الأولى في الأول (FIFO) ، أي ، تتم إضافة العناصر من نهاية قائمة الانتظار وإزالة العناصر من الطرف الأمامي من قائمة الانتظار.
Shift () طريقة
يتم توفير طريقة SHIFT () في JavaScript ، التي تزيل العنصر الأول في الصفيف وإرجاع العنصر ، وفي الوقت نفسه يعدل سمة طول الصفيف.
var params = new array () ؛ var count = params.push ("a" ، "b" ، "c") ؛ var item = params.shift () ؛ // احصل على تنبيه العنصر الأول (العنصر) ؛ // aalert (params.length) ؛ // 2طريقة UNSNIFT ()
يوفر JavaScript أيضًا طريقة UNSHIFT () ، والتي يمكن أن تضيف أي عنصر إلى الطرف الأمامي من الصفيف وإرجاع طول الصفيف الجديد.
var params = new array () ؛ var count1 = params.unshift ("a") ؛ Alert (count1) ؛ // 1alert (params) ؛ // avar count2 = params.unshift ("b") ؛ Alert (count2) ؛ // 2alert (params) ؛ // b ، avar count3 = params.unshift ("c" ، "d") ؛ Alert (params) ؛ // C ، D ، B ، أوقد لوحظ أنه إذا كانت هناك مصطلحات متعددة في Unshift () في وقت واحد ، فسيقوم بإدراج هذه المصطلحات في الصفيف بالترتيب ، أي أن المعلمة الأولى يتم إدخالها في المقدمة. كما هو الحال في المثال أعلاه ، يتم إدراج "A" لأول مرة ، يتم إدخال "B" للمرة الثانية ، وهناك مصطلحات متعددة عندما تكون المرة الثالثة ، ولكن الترتيب C في المقدمة و D في الخلف.
5. طريقة إعادة الترتيب
هناك طريقتان يستخدمان مباشرة لإعادة ترتيب الصفيف.
طريقة عكسية ()
طريقة عكس () تنقلب ترتيب عناصر الصفيف.
VAR DATIONS = [1،2،3،4،5] ؛ DAULE.REVERVER () ؛ ALERT (القيم) ؛ // 5،4،3،2،1
طريقة () طريقة
بشكل افتراضي ، تقوم طريقة SORT () بترتيب عناصر الصفيف بالترتيب الصاعد. لتحقيق الفرز ، تستدعي طريقة SORT () طريقة تحويل TOSTRING () لكل عنصر صفيف ، ثم تقارن السلسلة الناتجة. لذلك ، فإن طريقة SORT () تقارن السلاسل .
VAR DATIONS = [3،5،53،2،34] ؛ DALET.SORT () ؛ ALERT (القيم) ؛ // 2،3،34،5،53
ومع ذلك ، يمكننا أن نقول أن هذا الفرز لا معنى له بشكل أساسي ، وما نحتاج إليه هو فرز القيم العددية. يمكن أن تتلقى طريقة SORT () وظيفة مقارنة كوسيطة لتحديد قواعد الفرز.
تتلقى وظيفة المقارنة معلمتين ، وإرجاع رقم سالب إذا كان يجب أن تكون المعلمة الأولى قبل المعلمة الثانية ، وإرجاع 0 إذا كانت المعلمتين متساوية ، وإرجاع رقم موجب إذا كانت المعلمة الأولى بعد المعلمة الثانية.
دالة مقارنة (value1 ، value2) {if (value1 <value2) {return -1 ؛ } آخر إذا (value1> value2) {return 1 ؛ } آخر {return 0 ؛ }} var stable = [3،5،53،2،34] ؛ values.sort (مقارنة) ؛ التنبيه (القيم) ؛ // 2،3،4،34،536. طريقة التشغيل
concat () طريقة
يمكن إنشاء مجموعة جديدة بناءً على جميع العناصر في الصفيف الحالي. تنشئ هذه الطريقة نسخة من الصفيف الحالي ، ويضيف المعلمات إلى نهاية النسخة ، ويعيد الصفيف الذي تم بناؤه حديثًا. إذا تم تمرير صفائف أو أكثر إلى طريقة Concat () ، يتم إضافة كل عنصر في الصفيف إلى الصفيف.
var arrays = ["a" ، "b" ، "c"] ؛ var arrays2 = arrays.concat ("d" ، ["e" ، "fe") ؛ Alert (Arrays) ؛ // A ، B ، Calert (Arrays2) ؛ // a ، b ، c ، d ، e ، fشريحة () طريقة
ينشئ صفيفًا جديدًا يعتمد على عنصر واحد أو أكثر في الصفيف الحالي. يمكن أن تتلقى طريقة الشريحة () معلمة أو معلمتين ، أي المواضع البدء والنهاية للعنصر المراد إرجاعه . عندما يكون هناك معلمة واحدة فقط ، فإنه يعيد جميع العناصر من عنصر البدء إلى نهاية الصفيف. عندما يكون هناك معلمتان ، فإنه يعيد العنصر بين موضع البداية والموقف النهائي (باستثناء العنصر النهائي). لن تؤثر طريقة الشريحة () على الصفيف الأصلي.
Var Cities = ["Beijing" ، "Shanghai" ، "Shenzhen" ، "Guangzhou"] ؛ var cities2 = cities.slice (1) ؛ var cities3 = cities.slice (1،3) ؛ Alert (cities2) ؛ // Shanghai ، Shenzhen ، Guangzhou Alert (Cities3) ؛ // شنغهاي ، شنتشن
طريقة splice ()
تستخدم طريقة splice () بشكل أساسي لإدراج العناصر في منتصف الصفيف ، وهناك 3 طرق لاستخدامها:
• يمكن حذف حذف أي عدد من العناصر ، وتحديد معلمتين: العنصر الأول الذي يتم حذفه وعدد العناصر المراد حذفه ، مثل: Slits (1،3) سيحذف العناصر الثانية والثالثة والرابعة في المصفوفة
Var Cities = ["Beijing" ، "Shanghai" ، "Shenzhen" ، "Guangzhou"] ؛ Cities.Splice (1،3) ؛ Alert (Cities) ؛ // بكين
• إدراج يمكنك إدراج أي عدد من العناصر في الموضع المحدد. حدد 3 معلمات: موضع البداية ، 0 (عدد العناصر المراد حذفها) ، والعنصر المراد إدراجه
Var Cities = ["Beijing" ، "Shanghai" ، "Shenzhen" ، "Guangzhou"] ؛ // بكين ، هونغكونج ، شنغهاي ، شنتشن ، قوانغتشو
• استبدال العناصر التي يمكن أن تحل محل الموضع المحدد. حدد 3 معلمات: موضع البداية ، والعنصر المراد حذفه ، وأي عنصر يتم إدراجه.
Var Cities = ["Beijing" ، "Shanghai" ، "Shenzhen" ، "Guangzhou"] ؛ // بكين ، هونغكونج ، قوانغتشو
7. طريقة الموقف
هناك طريقتان موضعيان في طريقة JavaScript: IndexOF () وطريقة LastIndexof (). تتلقى كلتا الطريقتين معلمتين: العنصر المطلوب العثور عليه وفهرس (اختياري) يشير إلى موقع نقطة بدء البحث.
تعني طريقة IndexOF () النظر للخلف من بداية الصفيف ، بينما تبدأ LastIndexof () من نهاية الصفيف. إنهم جميعًا يعيدون موضع العنصر الموجود في الصفيف ، و -1 إذا لم يتم العثور عليه. يتم استخدام التطابق عند مقارنة المعلمة الأولى مع كل عنصر في الصفيف.
var nums = [1،2،3،4،5،6] ؛ Alert (nums.indexof (3)) ؛ // 2alert (nums.lastindexof (5)) ؛ // 4alert (nums.indexof (3،1)) ؛ // 2alert (nums.lastindexof (4،4)) ؛ // 3
8. طريقة التكرار
يوفر JavaScript 5 طرق تكرارية للمصفوفات. تتلقى كل طريقة معلمتين: الوظيفة التي سيتم تشغيلها على كل عنصر و (اختياري) كائن النطاق الذي يعمل على تشغيل الوظيفة - مما يؤثر على قيمة هذا. المعلمات التي يجب تمريرها في: قيمة عنصر الصفيف ، وموضع العنصر في الصفيف ، وكائن الصفيف نفسه.
• كل (): يقوم بتشغيل وظيفة معينة على كل عنصر في الصفيف ، وإذا كان عدد الصفوف يعود صحيحًا لكل عنصر ، فإنه يعود صحيحًا.
• Filter (): قم بتشغيل وظيفة معينة على كل عنصر في الصفيف ، وإرجاع مجموعة مكونة من عناصر ستعود بشكل صحيح.
• foreach (): يقوم بتشغيل وظيفة معينة على كل عنصر في الصفيف دون إرجاع قيمة
• MAP (): وظيفة تتكون من تشغيل وظيفة معينة على كل عنصر في الصفيف ، وإرجاع نتيجة كل استدعاء دالة.
• بعض (): تشغيل وظيفة معينة على كل عنصر في الصفيف. إذا كان هناك أي عنصر يرجع صحيحًا ، فإن الوظيفة تُرجع صحيحًا.
لن تقوم أي من الطرق المذكورة أعلاه بتعديل القيم الواردة في الصفيف.
9. طريقة دمج
هناك طريقتان لدمج المصفوفات في JavaScript: تقليل () وخفض (). تكرر كلتا الطريقتين على جميع عناصر الصفيف ثم بناء قيمة نهائية تم إرجاعها. حيث ، تبدأ طريقة تقليل () من العنصر الأول من الصفيف ، وتبدأ التخفيض () من العنصر الأخير من الصفيف.
يمكن أن يتلقى كلاهما معلمتين: وظيفة تسمى كل عنصر و (اختياري) كقيمة أولية لقاعدة الدمج. تم تمرير الوظيفة التي تم تمريرها لتقليل () و تخفيضها () 4 معلمات: القيمة السابقة ، والقيمة الحالية ، وفهرس العنصر ، وكائن الصفيف. سيتم تمرير أي قيمة يتم إرجاعها بواسطة هذه الوظيفة تلقائيًا إلى العنصر التالي باعتباره المعلمة الأولى. يحدث التكرار الأول على المدة الثانية من الصفيف ، وبالتالي فإن المعلمة الأولى هي المصطلح الأول من الصفيف ، والمعلمة الثانية هي المصطلح الثاني للمصفوفة.
VAR DATIORS = [1،2،3،4،5] ؛ var sum = date.reduce (function (prev ، cur ، index ، array) {return prev+cur ؛}) ؛ ALERT (sum) ؛ // 15في المرة الأولى التي يتم فيها تنفيذ وظيفة رد الاتصال ، تكون PRIM هي 1 و CUR هي 2. المرة الثانية ، PRID هي 3 (1+2) ، CUR هي 3 (قيمة المصطلح الثالث من المصفوفة) ، مع العلم أنه يتم الوصول إلى كل عنصر.
المخفض () له وظائف مماثلة ، ولكن الاتجاه معاكس.
التحليل الشامل أعلاه لجافا سكريبت: نوع المصفوفة هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.