freeCodeCamp/guide/arabic/certifications/javascript-algorithms-and-d.../intermediate-algorithm-scri.../diff-two-arrays/index.md

7.2 KiB

title localeTitle
Diff Two Arrays الفرق صفيفتين

:triangular_flag_on_post: تذكر استخدام Read-Search-Ask إذا واجهتك مشكلة. حاول إقران البرنامج :busts_in_silhouette: واكتب الكود الخاص بك :pencil:

:checkered_flag: شرح المشكلة:

تحقق من صفيفين ثم قم بإرجاع صفيف جديد يحتوي فقط على العناصر غير الموجودة في أي من الصفائف الأصلية.

روابط ذات صلة

:speech_balloon: تلميح: 1

دمج القائمة لتسهيل مقارنة الوظائف.

حاول أن تحل المشكلة الآن

:speech_balloon: تلميح: 2

استخدم الفلتر للحصول على المصفوفة الجديدة ، ستحتاج إلى إنشاء وظيفة رد اتصال.

حاول أن تحل المشكلة الآن

:speech_balloon: تلميح: 3

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

حاول أن تحل المشكلة الآن

تنبيه المفسد!

علامة تحذير

الحل في المستقبل!

:beginner: الحل الأساسي للكود (الحل الأمني):

` function diffArray(arr1, arr2) { var newArr = [];

  function onlyInFirst(first, second) { 
  // Looping through an array to find elements that don't exist in another array 
    for (var i=0;i<first.length;i++) { 
      if (second.indexOf(first[i]) === -1) { 
        // Pushing the elements unique to first to newArr 
        newArr.push(first[i]); 
      } 
    } 
  } 

  onlyInFirst(arr1, arr2); 
  onlyInFirst(arr2, arr1); 

  return newArr; 
} 

diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]); 

`

:rocket: تشغيل الكود

شرح الشفرة:

قراءة التعليقات في الكود.

روابط ذات صلة

:sunflower: حل الشفرة الوسيطة (الحل التعريفي):

` function diffArray(arr1, arr2) { return arr1 .concat(arr2) .filter( item => !arr1.includes(item) || !arr2.includes(item) ) }

diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]); 

`

:rocket: تشغيل الكود

شرح الشفرة:

اشرح الحل هنا وأضف أي روابط ذات صلة

روابط ذات صلة

:rotating_light: الحل المتقدم للكود (الحل التعريفي):

`function diffArray(arr1, arr2) { return arr1 .filter(el => !arr2.includes(el)) .concat( arr2.filter(el => !arr1.includes(el)) ) }

diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]); `

:rocket: تشغيل الكود

شرح الشفرة:

اشرح الحل هنا وأضف أي روابط ذات صلة

:rotating_light: البديل المتقدم للحلول البرمجية (الحل التعريفي):

`function diffArray(arr1, arr2) { return [ ...diff(arr1, arr2), ...diff(arr2, arr1) ]

function diff(a, b) { return a.filter(item => b.indexOf(item) === -1); } } `

روابط ذات صلة

:clipboard: ملاحظات للمساهمات:

  • :warning: لا تقم بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها مشابهة ولكن أفضل ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
  • أضف شرحًا لحلك.
  • تصنيف الحل في واحدة من الفئات التالية - الأساسي والمتوسط والمتقدم . :traffic_light:
  • الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي محتويات رئيسية ذات صلة . ( :warning: لا تزيل أي أسماء مستخدمين حالية )

نرى :point_right: Wiki Challenge Solution Template كمرجع.