সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র আর্গুমেন্ট হিসাবে স্ট্রিং, arr-এর একটি অ্যারে নেয়৷
আমাদের ফাংশনটি সমস্ত অক্ষরের একটি অ্যারে ফেরত দেয় যা অ্যারে অ্যারের মধ্যে সমস্ত স্ট্রিংগুলিতে প্রদর্শিত হয় (ডুপ্লিকেট সহ) .
উদাহরণস্বরূপ, যদি একটি অক্ষর সব স্ট্রিংয়ে 2 বার আসে কিন্তু 3 বার না হয়, তাহলে চূড়ান্ত উত্তরে আমাদের সেই অক্ষরটিকে 2 বার অন্তর্ভুক্ত করতে হবে।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
const arr = ['door', 'floor', 'crook'];
তারপর আউটপুট −
হওয়া উচিতconst output = ['r', 'o', 'o'];
উদাহরণ
এর জন্য কোড হবে −
const arr = ['door', 'floor', 'crook'];
const findCommon = (arr = []) => {
let prev = null;
arr.forEach((str) => {
const next = {};
for(const val of str){
if(!prev){
next[val] = (next[val] || 0) + 1;
}else if(prev[val]){
prev[val] -= 1;
next[val] = (next[val] || 0) + 1;
};
};
prev = next;
});
const res = Object.keys(prev).reduce((acc, val) => {
for(let i = 0; i < prev[val]; i++){
acc.push(val);
}
return acc
}, []);
return res;
};
console.log(findCommon(arr)); আউটপুট
এবং কনসোলে আউটপুট হবে −
[ 'r', 'o', 'o' ]