TGViewer
CodeVerse | دنیای برنامه نویسان CodeVerse | دنیای برنامه نویسان @codeverse_dev · 1.06K subscribers
Post #645 222
⚡ چرا ()Array.includes همیشه بهترین راه جستجو نیست؟

فرض کن مرتب باید بررسی کنی یک ID داخل لیست وجود داره یا نه:

const allowedIds = [12, 25, 48, 73, 91];

if (allowedIds.includes(userId)) {
// ...
}

برای یک آرایه کوچک کاملاً اوکیه.

اما اگر این لیست خیلی بزرگ باشه و این بررسی رو هزاران بار انجام بدی، هر بار باید داخل Array جستجو بشه.

اینجا Set می‌تونه انتخاب بهتری باشه:
const allowedIds = new Set([
12, 25, 48, 73, 91
]);

if (allowedIds.has(userId)) {
// ...
}

مزیت اصلی Set اینه که برای بررسی وجود یک مقدار، معمولاً انتخاب مناسب‌تریه؛ مخصوصاً وقتی تعداد Lookupها بالاست.

ولی یه نکته:

این یعنی «همیشه Set سریع‌تره»؟ نه.

اگر فقط ۵ مقدار داری و یک بار دنبال چیزی می‌گردی، ساختن Set احتمالاً هیچ مزیت معناداری نداره.

بهینه‌سازی یعنی ساختار داده رو بر اساس نوع استفاده انتخاب کنی، نه اینکه هرجا اسم Performance اومد، Set بریزی وسط. 😄
  • ❤ 9
More from @codeverse_dev
  1. Oct 6, 2026شرکت Google وارد یک درگیری جدی با ناشران شده ⚖️ رگولاتور رقابت لهستان اعلام کرده Google را…
  2. Oct 6, 2026اگر Windows 11 داری، قبل از نصب بعضی آپدیت‌ها حواست باشد ⚠️ مایکروسافت تأیید کرده آپدیت پی…
  3. Oct 6, 2026اگر Chrome استفاده می‌کنی، این آپدیت را جدی بگیر ⚡ نسخه Stable مرورگر Chrome برای دسکتاپ ب…
  4. Oct 6, 2026🖥 سازنده محتوایی؟ ویندوزت بدون این ۵ نرم‌افزار نصفه‌ست! خب راستشو بخوای، من خودم تا چند و…
  5. Oct 6, 2026🔥 یکی از بهترین قابلیت‌های جدید Chrome DevTools برای Debug کردن Memory Leak اگر با Web Ap…
  6. Oct 5, 2026هوش مصنوعی ChatGPT حالا تبلیغات تصویری را هم آزمایش می‌کند 👀 شرکت OpenAI اعلام کرده قرار…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →