الوحدة 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 falseevery: جميعهم
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 من المحاولات