پرسش
سادهترین کد برای پیدا کردن اشتراک بین آرایهها در جاوااسکریپت چیست؟
Simplest code for array intersection in JavaScript
چطور میتونم سادهترین کد برای پیدا کردن اشتراک بین دو آرایه تو جاوااسکریپت رو بنویسم؟
مثلاً اگر بخوام با تابع intersection([1,2,3], [2,3,4,5]) مقدار [2, 3] رو برگردونم، چطور باید این کار رو انجام بدم؟
1403/06/03
پاسخ
محمدامین سعیدی راد
توسعه دهنده استک MERN
برای پیدا کردن اشتراک بین دو آرایه تو جاوااسکریپت، میتونی از 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