Array Iterations

📌 متدهای iteration در جاوااسکریپت برای عبور از عناصر آرایه و انجام عملیات روی آن‌ها استفاده می‌شوند.
این متدها جایگزین حلقه‌های سنتی مثل for یا while هستند و کدنویسی رو کوتاه‌تر و خواناتر می‌کنند.

1️⃣ ()forEach

برای اجرای یک تابع روی هر عنصر آرایه.

let numbers = [1, 2, 3, 4, 5]; numbers.forEach(num => { console.log(num * 2); }); // خروجی: 2, 4, 6, 8, 10

📌 چیزی برنمی‌گرداند (فقط اجرا می‌کند).

2️⃣ ()map

یک آرایه جدید برمی‌گرداند که هر عنصر نتیجه اجرای تابع است.

let numbers = [1, 2, 3, 4]; let doubled = numbers.map(num => num * 2); console.log(doubled); // [2, 4, 6, 8]

📌 همیشه آرایه‌ی جدید ایجاد می‌کند.

3️⃣ ()filter

عناصری که شرط خاصی را دارند فیلتر می‌کند.

let numbers = [10, 25, 30, 45, 50]; let greaterThan30 = numbers.filter(num => num > 30); console.log(greaterThan30); // [45, 50]

📌 خروجی: آرایه‌ی جدید شامل فقط عناصر انتخاب‌شده.

4️⃣ ()reduce

یک مقدار نهایی از ترکیب عناصر می‌سازد (مثل جمع، ضرب و …).

let numbers = [1, 2, 3, 4, 5]; let sum = numbers.reduce((total, current) => total + current, 0); console.log(sum); // 15

📌 0 مقدار اولیه است.

5️⃣ ()some

بررسی می‌کند آیا حداقل یک عنصر شرط را دارد یا نه.

let numbers = [1, 2, 3, 4]; console.log(numbers.some(num => num > 3)); // true

6️⃣ ()every

بررسی می‌کند آیا همه عناصر شرط را دارند یا نه.

let numbers = [2, 4, 6, 8]; console.log(numbers.every(num => num % 2 === 0)); // true

7️⃣ ()find

اولین عنصری که شرط را داشته باشد برمی‌گرداند.

let numbers = [10, 20, 30, 40]; let result = numbers.find(num => num > 25); console.log(result); // 30

8️⃣ ()findIndex

ایندکس اولین عنصری که شرط را داشته باشد برمی‌گرداند.

let numbers = [5, 12, 8, 130, 44]; let index = numbers.findIndex(num => num > 10); console.log(index); // 1

9️⃣ ()entries(), keys(), values

  • keys() → ایندکس‌ها

  • values() → مقادیر

  • entries() → جفت [index, value]

let fruits = ["موز", "سیب", "انبه"]; // keys for (let key of fruits.keys()) { console.log(key); } // 0, 1, 2 // values for (let value of fruits.values()) { console.log(value); } // موز, سیب, انبه // entries for (let [index, value] of fruits.entries()) { console.log(index, value); } // 0 موز // 1 سیب // 2 انبه

✅ جمع‌بندی

  • forEach → فقط اجرا

  • map → آرایه‌ی جدید ایجاد می‌کند

  • filter → عناصر خاص را انتخاب می‌کند

  • reduce → همه عناصر را به یک مقدار تبدیل می‌کند

  • some / every → بررسی شرط روی عناصر

  • find / findIndex → اولین عنصر یا ایندکس آن

  • keys / values / entries → دسترسی به اطلاعات آرایه