সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা লিটারালের দুটি অ্যারে নেয়, arr1 এবং arr2, প্রথম এবং দ্বিতীয় আর্গুমেন্ট হিসাবে।
আমাদের ফাংশনের সাধারণ উপাদান খুঁজে বের করা উচিত সর্বনিম্ন তালিকা ইনডেক্সসাম সহ arr1 এবং arr2 এ . যদি উত্তরগুলির মধ্যে একটি পছন্দের টাই থাকে, তাহলে আমাদের কোনো অর্ডারের প্রয়োজন ছাড়াই সেগুলিকে আউটপুট করা উচিত।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়−
const arr1 = ['a', 'b', 'c', 'd']; const arr2 = ['d', 'a', 'c'];
তারপর আউটপুট −
হওয়া উচিতconst output = ['a'];
আউটপুট ব্যাখ্যা
যেহেতু 'd' এবং 'a' উভয় অ্যারেতে সাধারণ, 'd' এর সূচক যোগফল 3 + 0 =3 এবং 'a' এর 0 + 1 =1, তাই 'a' প্রয়োজনীয় উপাদান৷
উদাহরণ
নিম্নলিখিত কোড -
const arr1 = ['a', 'b', 'c', 'd']; const arr2 = ['d', 'a', 'c']; const findCommon = (arr1 = [], arr2 = []) => { let sum = Infinity const map = arr1.reduce((acc, str, index) => { acc[str] = index return acc }, {}) for (let i = 0; i < arr2.length; i++) { const index1 = map[arr2[i]] if (index1 >= 0 && index1 + i < sum) { sum = index1 + i } } const result = [] for (let i = 0; i < arr2.length; i++) { const index1 = map[arr2[i]] if (index1 >= 0 && index1 + i === sum) { result.push(arr2[i]) } } return result } console.log(findCommon(arr1, arr2));
আউটপুট
নিম্নোক্ত কনসোল আউটপুট-
['a']