কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে অ্যারে অফ অ্যারে থেকে সবচেয়ে ছোট সাব-অ্যারে বের করা


সমস্যা বিবরণ

নেস্টেড অ্যারে দেওয়া আছে। সবচেয়ে কম এলিমেন্ট содержа করা সাব-অ্যারে (বা অ্যারেগুলো যদি একাধিক হয়) বের করতে হবে।

ইনপুট:

const arr = [
  ["LEFT", "RIGHT", "RIGHT", "BOTTOM", "TOP"],
  ["RIGHT", "LEFT", "TOP"],
  ["TOP", "LEFT"]
];

আউটপুট: [["TOP", "LEFT"]]

সমাধান

const arr = [
  ["LEFT", "RIGHT", "RIGHT", "BOTTOM", "TOP"],
  ["RIGHT", "LEFT", "TOP"],
  ["TOP", "LEFT"]
];

const findShortest = (arr = []) => {
  const res = arr.reduce((acc, val, ind) => {
    if (!ind || val.length < acc[0].length) {
      return [val];
    }
    if (val.length === acc[0].length) {
      acc.push(val);
    }
    return acc;
  }, []);
  return res;
};

console.log(findShortest(arr));

আউটপুট

[ [ 'TOP', 'LEFT' ] ]

ব্যাখ্যা

  • reduce দিয়ে সবচেয়ে ছোট লেন্থ ট্র্যাক করা হয়েছে।
  • নতুন ছোট লেন্থ পাওয়া গেলে অ্যাকিউমুলেটর রিসেট করা হয়েছে।
  • সমান লেন্থ পাওয়া গেলে পুশ করা হয়েছে।
  1. জাভাস্ক্রিপ্ট টাইপড অ্যারে

  2. জাভাস্ক্রিপ্ট Array.from() মেথড

  3. জাভাস্ক্রিপ্ট Array.from() মেথড

  4. জাভাস্ক্রিপ্ট - URL থেকে GET প্যারামিটার এর মান জানা