الانتقال إلى المحتوى الرئيسي
الوحدة 6 · الدرس 3 من 423/32 في الدورة~10 min
دروس الوحدة (3/4)

تجد، بعض، كل

ثلاث طرق مدمجة للبحث في مصفوفة دون كتابة الحلقة يدويًا.

find: أول ما يطابق

JS
const utenti = [
  { nome: 'Anna', eta: 30 },
  { nome: 'Luca', eta: 12 },
  { nome: 'Sara', eta: 18 },
];

utenti.find((u) => u.eta >= 18);
// { nome: 'Anna', eta: 30 }

utenti.find((u) => u.nome === 'Marco');
// undefined  ← if none matches

متغير findIndex: يُرجع الفهرس (أو -1).

some: واحد على الأقل

JS
const nums = [1, 2, 3, 4, 5];

nums.some((n) => n > 4); // true
nums.some((n) => n > 100); // false

[].some(() => true); // false  ← on an empty array it is always false

every: جميعهم

JS
const nums = [1, 2, 3, 4, 5];

nums.every((n) => n > 0); // true
nums.every((n) => n > 2); // false

[].every(() => false); // true  ← on an empty array it is always true!

إن عدم تناسق some وevery في المصفوفات الفارغة مقصود ومتسق منطقيًا مع العوامل المنطقية "موجود" (∃) و"للجميع" (∀).

جربه

تمرين#js.m6.l3.e1
المحاولات: 0جارٍ التحميل…

حدد `firstAdult(users)`: بالنظر إلى مصفوفة من { name, age }، قم بإرجاع اسم الأول بعمر >= 18، أو فارغًا إذا لم يكن هناك شيء. استخدم البحث.

جارٍ تحميل المحرر…
إظهار التلميح

users.find(...); إذا تم العثور عليه، قم بإرجاع u.name، وإلا فهو فارغ.

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#js.m6.l3.e2
المحاولات: 0جارٍ التحميل…

حدد `allPositive(nums)`: يُرجع صحيحًا إذا كانت جميع عناصر الأعداد أكبر من 0 (والصفيف ليس فارغًا)، وإلا فسيكون خطأ. استخدم كل + فحص الطول.

جارٍ تحميل المحرر…
إظهار التلميح

الطول > 0 && nums.every(n => n > 0)

الحل متاح بعد 3 من المحاولات