پیشنهاد شگفت‌انگیز سبزلرن: 50% تخفیف برای دوره پروژه های تخصصی با جاوا اسکریپت برای بازار کار
مشاهده دوره
ثانیه
دقیقه
ساعت
روز
پرسش

ساده‌ترین کد برای پیدا کردن اشتراک بین آرایه‌ها در جاوااسکریپت چیست؟

Simplest code for array intersection in JavaScript

چطور می‌تونم ساده‌ترین کد برای پیدا کردن اشتراک بین دو آرایه تو جاوااسکریپت رو بنویسم؟

مثلاً اگر بخوام با تابع intersection([1,2,3], [2,3,4,5]) مقدار [2, 3] رو برگردونم، چطور باید این کار رو انجام بدم؟

1403/06/03
پاسخ
محمدامین سعیدی راد
بیوگرافی محمدامین سعیدی راد

برای پیدا کردن اشتراک بین دو آرایه تو جاوااسکریپت، می‌تونی از filter و Set استفاده کنی که هم ساده است و هم سریع:

function intersection(a, b) {
const setA = new Set(a);
return b.filter(value => setA.has(value));
}
console.log(intersection([1, 2, 3], [2, 3, 4, 5])); // [2, 3]

این کد اول یک Set از آرایه اول می‌سازه و بعد با استفاده از filter، عناصری که تو آرایه دوم هم وجود دارن رو فیلتر می‌کنه. این روش برای کار با داده‌های بزرگ کارایی خوبی داره و نتیجه نهایی شامل تمام مقادیر مشترک بین دوتا  آرایه میشه.

اگر نیاز به حذف مقادیر تکراری داری، می‌تونی از Set برای نتیجه هم استفاده کنی.

موفق و پیروز باشی.

پاسخ: 1403/06/03
آخرین آپدیت: 1403/07/29