حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش جاوااسکریپت تکمیلی؛ توابع و پردازش داده

پیش‌بینی filter در جاوااسکریپت؛ شرط مرزی و حفظ ترتیب

پردازش آرایه در جاوااسکریپت با map و filter و find · 0٪

✍️ متد filter برای انتخاب بخشی از اعضاست. callback هر عضو را بررسی می‌کنه و اگر نتیجه شرط درست باشه، همان عضو در آرایه تازه قرار می‌گیره. برخلاف map، قرار نیست مقدار عضو عوض بشه؛ تعداد خروجی هم می‌تونه کمتر از ورودی باشه. ترتیب اعضای پذیرفته‌شده مثل ترتیب اولیه باقی می‌مونه.

برای مثال، در فهرست سن‌ها می‌تونیم فقط سن‌های بزرگ‌تر یا مساوی هجده را نگه داریم. اگر شرط دقیقاً >= 18 باشه، خود هجده هم پذیرفته می‌شه. انتخاب > به جای >= یک تفاوت کوچک در ظاهر و یک باگ واقعی در مرز ورودی ایجاد می‌کنه.

در کد پایین، اول هر عدد را با شرط مقایسه کن و کنارش علامت قبول یا رد بذار. بعد فقط پذیرفته‌ها را به ترتیب بنویس. خطای رایج اینه که filter را مرتب‌سازی حساب کنیم یا انتظار داشته باشیم عددهای قبول‌شده تغییر کنند. filter به‌تنهایی نه ترتیب را جابه‌جا می‌کنه و نه محاسبه جدیدی روی مقدار انجام می‌ده؛ callback این مثال فقط یک مقایسه است.

const prices = [70, 20, 50, 90, 50];
const selected = prices.filter(price => price >= 50);
console.log(selected);

فعالیت شما

آرایه چاپ‌شده را با توجه به شرط >= و ترتیب اولیه انتخاب کن.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

فعالیت‌های این بخش به اشتراک فعال نیاز دارند. تهیهٔ اشتراک

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید:

گزینه‌های پیش‌بینی خروجی

  1. [50, 50, 70, 90]
  2. [70, 90]
  3. [70, 50, 90, 50]