تخطَّ إلى المحتوى

Array.from()

بناء مصفوفة من Iterable أو كائن شبيه بمصفوفة Array.from()

Array.from() تبني مصفوفة حقيقية جديدة من أي كائن قابل للتكرار (Set، Map، نص) أو شبيه بمصفوفة (له length)، مع دالة تحويل اختيارية.

أداة أساسية لتحويل قيم ليست مصفوفات فعليًا (نتيجة querySelectorAll، Set، معاملات دالة عبر arguments) إلى مصفوفة حقيقية تملك كل دوال المصفوفات (map، filter، إلخ). المعامل الثاني الاختياري دالة تحويل تُطبَّق على كل عنصر أثناء البناء — أكفأ من استدعاء .map() بخطوة منفصلة بعدها.

الصياغة

const arr = Array.from(iterableOrArrayLike, mapFn);

⚡ جرّب بنفسك

عدّل الكود واضغط «تحديث» لترى النتيجة فورًا — التجربة أفضل معلّم.

⚡ محرّر تفاعلي
// من Set (إزالة تكرار ثم تحويل لمصفوفة)
const unique = Array.from(new Set([1, 2, 2, 3]));
console.log(unique);

// بناء مصفوفة أرقام متتالية بدالة تحويل
const range = Array.from({ length: 5 }, (_, i) => i + 1);
console.log(range); // [1, 2, 3, 4, 5]
وحدة التحكّم
اضغط «تشغيل» لرؤية النتيجة هنا.

أهم المعاملات

المعاملالوظيفة
iterableOrArrayLikeSet أو Map أو نص أو أي كائن له length وعناصر مفهرسة
mapFnدالة تحويل تُطبَّق على كل عنصر أثناء البناء (اختياري)

💡 نصائح عملية

  • Array.from({ length: n }, (_, i) => ...) طريقة شائعة جدًا لتوليد مصفوفة أرقام متتالية بسرعة
  • Array.from(new Set(array)) نمط قياسي لإزالة التكرار من مصفوفة

⚠️ أخطاء شائعة

  • استخدام [...iterable] بدل Array.from عند الحاجة لدالة تحويل — [...] لا تقبل دالة تحويل مباشرة، بينما Array.from تفعل بمعامل ثانٍ

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVASCRIPT الكامل بالعربي.