আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে সংখ্যার অ্যারেের অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসেবে সংখ্যার একটি অ্যারে নেবে। ফাংশনটি প্রথম অ্যারেতে প্রতিটি অ্যারে থেকে একটি সাবঅ্যারে পিক করবে (সাবঅ্যারেটি যেটি দ্বিতীয় অ্যারে এবং ফার্স্ট অ্যারেতে সংশ্লিষ্ট অ্যারে উভয়ের সাথে কমন আইটেম ধারণ করে)।
উদাহরণস্বরূপ:
ইনপুট যদি হয়:
উদাহরণ
const arr1 = [ [1,2,5,6], [5,13,7,8], [9,11,13,15], [13,14,15,16], [1,9,11,12] ]; const arr2 = [9,11,13,15,1,2,5,6];
আউটপুট
কনসোলে আউটপুট হবে:
const output = [ [1, 2, 5, 6], [5, 13], [9, 11, 13, 15], [13, 15], [1, 9, 11] ]
ফার্স্ট অ্যারেতে প্রথম সাবঅ্যারে এবং সেকেন্ড অ্যারেতে কমন এলিমেন্টগুলো আউটপুট অ্যারেতে প্রথম সাবঅ্যারে বানাবে।
ফার্স্ট অ্যারেতে দ্বিতীয় সাবঅ্যারে এবং সেকেন্ড অ্যারেতে কমন এলিমেন্টগুলো আউটপুট অ্যারেতে দ্বিতীয় সাবঅ্যারে বানাবে। ইত্যাদি।
উদাহরণ
const arr1 = [ [1,2,5,6], [5,13,7,8], [9,11,13,15], [13,14,15,16], [1,9,11,12] ];
const arr2 = [9,11,13,15,1,2,5,6];
const findIntersection = (arr1 = [], arr2 = []) => {
const regex = new RegExp('\\b(' + arr1.join('|') + ')\\b', 'g');
const res = [];
arr2.forEach(arr => {
let matches = arr.join(' ').match(regex);
if (matches.length) {
res.push(matches.map(Number));
};
});
return res;
}
console.log(findIntersection(arr2, arr1));
আউটপুট
কনসোলে আউটপুট হবে:
[ [ 1, 2, 5, 6 ], [ 5, 13 ], [ 9, 11, 13, 15 ], [ 13, 15 ], [ 1, 9, 11 ] ]