الانتقال إلى المحتوى الرئيسي

كيفية مقارنة كائنين جافا سكريبت: أفضل الطرق

في جافا سكريبت ، الكائنات هي لبنة البناء الرئيسية للغة. إنها تسمح لنا بتمثيل هياكل البيانات المعقدة وتخزين المعلومات في شكل أزواج ذات قيمة رئيسية. عند العمل مع الأشياء ، يصبح من الضروري مقارنتها مع بعضها البعض من أجل تحديد المساواة أو الاختلاف. في هذه المقالة ، سوف نلقي نظرة على بعض من أفضل الطرق لمقارنة كائنين جافا سكريبت.

إحدى الطرق الرئيسية لمقارنة الكائنات هي استخدام المشغل "==" أو "===". يتحقق عامل التشغيل "= = "من المساواة بين كائنين حسب القيمة ، ويأخذ عامل التشغيل" = = = " أيضا في الاعتبار نوع البيانات. ومع ذلك ، فإن هؤلاء المشغلين يقارنون الكائنات بالرجوع وليس بالمحتوى. هذا يعني أن كائنين يمكن أن يكونا مختلفين ، ولكن لا يزال يتم اعتبارهما متساويين إذا كان لهما نفس المرجع.

طريقة أخرى لمقارنة الكائنات هي استخدام المقارنة العميقة. تسمح لك المقارنة العميقة بمقارنة الكائنات حسب القيمة بدلا من المرجع. للقيام بذلك ، يمكنك استخدام جسون.سترينجيفي () وظيفة ، الذي يحول كائن إلى سلسلة جسون ، ومن ثم مقارنة السلاسل. ومع ذلك ، لا تقارن هذه الطريقة الوظائف والخصائص التي لا يمكن تسلسلها في جسون.

"الرابط القصير لهدف يحقق هدفا مختلفا عن الرابط الطويل للحلم"

طريقة أخرى لمقارنة الكائنات هي استخدام مكتبة لوداش.l.. يوفر لوداش العديد من المرافق للعمل مع كائنات جافا سكريبت ، l is بما في ذلك وظيفة إيسيكوال () ، الذي يقارن كائنين من حيث القيمة. تأخذ الدالة متساوية() في الاعتبار أنواع البيانات ، وتمكن المقارنة العميقة ، وتقارن خصائص الكائنات المتداخلة.

  1. كائنين جافا سكريبت
  2. مقارنة كائنات جافا سكريبت
  3. عامل المقارنة ===
  4. جسون.طريقة سترينجيفي
  5. مقارنة الكائن العميق

كائنين جافا سكريبت

جافا سكريبت هي لغة برمجة تستخدم على نطاق واسع لإنشاء مواقع تفاعلية. يسمح للمطورين بإنشاء وظائف ديناميكية وتغيير محتويات صفحة الويب أثناء التنقل.

أحد المفاهيم الأساسية في جافا سكريبت هو كائن. تساعدك الكائنات على تنظيم البيانات في شكل منظم والعمل معها. عندما تحتاج إلى مقارنة كائنين في جافا سكريبت ، يمكنك استخدام طرق مختلفة.

فيما يلي بعض الطرق لمقارنة كائنين جافا سكريبت:

  1. (جسون).سترينجيفي () الأسلوب-هذا الأسلوب يحول كائن إلى سلسلة جسون. يمكن بعد ذلك مقارنة السلاسل باستخدام عامل المقارنة المعتاد.
  2. الدورة for...in -تسمح لك هذه الحلقة بالتكرار من خلال جميع خصائص الكائن. إذا كانت خصائص كائنين هي نفسها وقيمها هي نفسها ، ثم الكائنات متساوية.
  3. طريقة إيسيكوال () من مكتبة لوداش l library توفر هذه المكتبة وظائف مريحة للعمل مع البيانات في جافا سكريبت. طريقة إيسيكوال() يتحقق الكائنات للهوية بمقارنة خصائصها والقيم.

يمكن أن تكون مقارنة كائنين في جافا سكريبت مهمة صعبة ، خاصة عندما تحتوي الكائنات على هياكل متداخلة أو إشارات إلى كائنات أخرى. من المهم اختيار طريقة المقارنة المناسبة للحصول على النتيجة الصحيحة.

تذكر أن الكائنات في جافا سكريبت تعتبر متساوية فقط إذا كانت تشير إلى نفس الكائن في الذاكرة. خلاف ذلك ، حتى إذا كانت خصائص وقيم الكائنات هي نفسها ، فسيتم اعتبارها مختلفة.

الخلاصة: عند مقارنة كائنين جافا سكريبت ، من المهم أن تأخذ في الاعتبار هيكلها ونوع البيانات. يمكن تطبيق طرق مختلفة اعتمادا على ظروف المهمة.

مقارنة كائنات جافا سكريبت

في جافا سكريبت ، يمكن أن تكون الكائنات هياكل معقدة تحتوي على العديد من الخصائص والأساليب. عندما نحتاج إلى مقارنة كائنين ، هناك عدة طرق للقيام بذلك. دعونا نلقي نظرة على بعضها أدناه.

عامل المقارنة ===

إذا كان كلا المعاملين لهما نفس النوع والقيمة. إذا كانت الكائنات لها مراجع مختلفة ، فسيتم اعتبارها مختلفة.

كونست أوبج1 = { الاسم: "جون"};

كونست أوبج2 = { الاسم: "جون"};

وحدة التحكم.سجل (كائن 1 = = = كائن 2) ؛ / / خطأ

.

جسون.طريقة سترينجيفي

.

كونست أوبج1 = { الاسم: "جون"};

كونست أوبج2 = { الاسم: "جون"};

وحدة التحكم.سجل (جسون.سترينجيفي (أوبج1) = = = جسون.سترينجيفي (كائن 2)) ؛ / / صحيح

.

مقارنة الكائن العميق

لن تكون قادرة على مقارنتها بشكل صحيح. في مثل هذه الحالات ، يمكنك استخدام نهج تكراري وكتابة وظيفة تقارن كل خاصية من الكائنات.

وظيفة ديبيكوال (أوبج1 ، أوبج2) {

إذا (نوع الكائن 1 != = "كائن"