Dart Academy · درس

البحث في القوائم وفرزها

استخدم find وcontains وindexOf وsort

الدرس 3 من 413 خطوة

البحث في القوائم وفرزها درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.

العثور على العناصر

توفر لك Lists طرقًا سريعة لطرح أسئلة حول محتوياتها، مثل معرفة ما إذا كان عنصر موجودًا أو تحديد موضعه. لنستكشف البحث. 🔍

هل تحتوي عليه؟

تُرجع طريقة contains true أو false، لتخبرك بما إذا كانت قيمة ما موجودة في مكان من القائمة.

var pets = ['cat', 'dog'];
print(pets.contains('dog')); // true

أين يوجد؟

استخدم indexOf للعثور على موضع عنصر. فهي تُرجع فهرس أول تطابق، أو -1 عندما تكون القيمة غير موجودة.

print(pets.indexOf('dog')); // 1

العنصر المفقود يعني سالب واحد

عندما لا تتمكن indexOf من العثور على القيمة، فإنها تُرجع -1. ويُعد التحقق من -1 طريقة بسيطة للتعامل مع العناصر غير الموجودة.

print(pets.indexOf('fish')); // -1

أول تطابق حسب قاعدة

ابحث باستخدام شرط عبر firstWhere. فهي تُرجع أول عنصر يجتاز دالة الاختبار الخاصة بك.

var nums = [3, 8, 5];
print(nums.firstWhere((n) => n > 4)); // 8

any وevery

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

print(nums.any((n) => n > 7)); // true

الفرز في مكانه

تعيد طريقة sort ترتيب القائمة نفسها، من الأصغر إلى الأكبر افتراضيًا. وهي تغيّر القائمة الأصلية ولا تُرجع شيئًا.

var scores = [3, 1, 2];
scores.sort();
print(scores); // [1, 2, 3]

فرز النصوص

يؤدي استدعاء sort على النصوص إلى ترتيبها أبجديًا افتراضيًا، من خلال مقارنة المحارف من اليسار إلى اليمين.

var names = ['Bea', 'Al', 'Cy'];
names.sort(); // [Al, Bea, Cy]

ترتيب فرز مخصص

مرّر comparator للفرز وفق قاعدتك الخاصة. أعد رقمًا سالبًا لوضع a قبل b، ورقمًا موجبًا لعكس ترتيبهما.

scores.sort((a, b) => b - a); // descending

عكس القائمة

يعطيك getter reversed عرضًا معكوسًا للقائمة. غلّفه باستخدام toList عندما تحتاج إلى قائمة معكوسة فعلية.

print(scores.reversed.toList());

lastIndexOf

عند وجود قيم مكررة، تبحث lastIndexOf عن موضع آخر تطابق بدلًا من أول تطابق.

var bits = [1, 0, 1];
print(bits.lastIndexOf(1)); // 2

تحقق سريع

تستدعي indexOf لقيمة غير موجودة. ماذا تُرجع؟

مراجعة

يمكنك الآن فحص Lists وترتيبها: contains وindexOf وfirstWhere وany وevery وsort باستخدام قواعد مخصصة. أصبحت معالجة البيانات متاحة لك! 📊

البدء مجانًا

تعلم Dart مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «البحث في القوائم وفرزها» مجاني؟

نعم — نص درس «البحث في القوائم وفرزها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.

ماذا ستتعلم في «البحث في القوائم وفرزها»؟

استخدم find وcontains وindexOf وsort تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟

لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «البحث في القوائم وفرزها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟

نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إنشاء القوائم والفهرسة
  2. إضافة العناصر وإزالتها وتحديثها
  3. البحث في القوائم وفرزها
  4. التحويل باستخدام map وwhere وtoList
← العودة إلى Dart Academy