في JavaScript ، قم بتنفيذ المصفوفات متعددة الأبعاد وفرز صفيف الكائن ، بشكل أساسي باستخدام طريقة Sort () الأصلي لفرز عناصر الصفيف.
لن أتحدث عن استخدامه الأساسي ، فلننظر أولاً إلى مثال فرز بسيط:
// sortalphabetically and courding: varmyarray = ["Bob" ، "Bully" ، "Amy"] myarray.sort () // arraynow يصبح ["Amy" ، "Bob" ، "Bully"]
بعد أن تسمى الصفيف sort () مباشرة ، يقوم المصفوفة بفرز العناصر الموجودة في المصفوفة أبجديًا. لوضعها بشكل أكثر دقة ، فهي ترتيب ترميز الأحرف.
دعونا نلقي نظرة على فرز الأرقام:
// Sortnumernicly and Ascending: varmyarray = [25 ، 8 ، 7 ، 41] myarray.sort (function (a ، b) {returna - b}) // arraynow يصبح [7 ، 8 ، 25 ، 41]تقبل (المرح) وظيفة الفرز ، والتي تقارن أحجام 2 أرقام. مبدأ فرز مجموعة الأشياء لدينا هو نفسه في الواقع.
بالنسبة لفرز مجموعة الكائنات ، نكتب أولاً وظيفة تقوم ببناء وظيفة المقارنة:
// بالدالة تأخذ سلسلة اسم عضو كمعلمة // وإرجاع وظيفة المقارنة التي يمكن استخدامها لفرز مجموعة من الكائنات التي تحتوي على العضو varby = function (name) {returnfunction (o ، p) {vara ، b ؛ if (typeofo === "aboun {return0 ؛} if (typeofa === typeofb) {return <b؟ -1: 1 ؛} returntypeof a <typeofb؟ -1: 1 ؛} آخر {رمي ("خطأ") ؛}}}}صفيف للفرز:
varemployees = [] الموظفين [0] = {name: "جورج" ، العمر: 32 ، متقاعد: "مارس 12 ، 2014"} الموظفين [1] = {الاسم: "إدوارد" ، العمر: 17 ، متقاعد: "يونيو 2 ، 2023" 2036 "} الموظفين [3] = {name:" سارة "، العمر: 62 ، متقاعد:" April30 ، 2020 "}استدعاء الوظيفة مباشرة:
الموظفين.
في هذه المرحلة ، يتم تنفيذ ترتيب صفائف الكائن بشكل أساسي. إذن كيفية تنفيذ فرز القيمة الرئيسية المتعددة؟ وهذا يعني أولاً فرز العمر ، وإذا كان العمر هو نفسه ، ثم مقارنة الاسم.
في هذا الوقت ، يمكننا زيادة تعديل الوظيفة بواسطة حتى يتمكن من قبول المعلمة الثانية. عندما تنتج قيمة المفتاح الرئيسي تطابقًا ، سيتم استدعاء طريقة مقارنة أخرى لتحديد المستوى.
// عن طريق الدالة تقبل سلسلة اسم الأعضاء ودالة المقارنة الثانوية الاختيارية كمعلمات // وإرجاع وظيفة المقارنة التي يمكن استخدامها لفرز مجموعة الكائن التي تحتوي على العضو // عندما تكون O [العمر] و P [العمر] متساوية ، يتم استخدام وظيفة المقارنة الثانوية لتحديد مستوى varby = function (name ، minor) {returnfunction (o ، p). 'Object' && typeofp === 'Object') {a = o [name] ؛ b = p [name] ؛ if (a === b) {returntypeof minor === 'function'؟ Minor (o ، p): 0 ؛} if (typeofa === typeofb) {returna <b؟ -1: 1 ؛} returntypeof a <typeofb؟ -1: 1 ؛} آخر {thro ("error") ؛}}} موظفين.حسنًا ، يمكنك الآن استخدامه بثقة. إذا كنت لا تفهم ذلك ، فيمكنك نسخ الوظيفة على تطبيقك مباشرة والاتصال بها مباشرة.
ما سبق هو الوصف الكامل لطريقة فرز مجموعة كائن JavaScript التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!