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

জাভাস্ক্রিপ্টে ২D অ্যারে থেকে স্পার্স অ্যারে তৈরি


সমস্যা বিবরণ

একটি ২D অ্যারে দেওয়া আছে যেখানে প্রতিটি সাব-অ্যারে ইনডেক্স নির্দেশ করে। একটি স্পার্স ২D অ্যারে তৈরি করতে হবে যেখানে chỉ নির্দিষ্ট ইনডেক্সে ভ্যালু ১ থাকবে, বাকি undefined।

ইনপুট: [[3, 1], [2, 12], [3, 3]]

অর্থাৎ: output[3][1] = 1, output[2][12] = 1, output[3][3] = 1

সমাধান

const arr = [
  [3, 1],
  [2, 12],
  [3, 3]
];

const map2D = (arr = []) => {
  const res = [];
  arr.forEach(el => {
    res[el[0]] = res[el[0]] || [];
    res[el[0]][el[1]] = 1;
  });
  return res;
};

console.log(map2D(arr));

আউটপুট

[ <2 empty items>, [ <12 empty items>, 1 ], [ <1 empty item>, 1, <1 empty item>, 1 ] ]

ব্যাখ্যা

  • res[el[0]] = res[el[0]] || [] দিয়ে সাব-অ্যারে অটোমেটিক তৈরি হয়।
  • জাভাস্ক্রিপ্ট অ্যারে স্পার্স হলে (empty slots) কনসোলে <N empty items> দেখায়।
  • এটি মেমরি দক্ষ রিপ্রেজেন্টেশন বড় ম্যাট্রিক্সের জন্য।
  1. জাভাস্ক্রিপ্টে স্পেশাল অ্যারে চেক করা

  2. জাভাস্ক্রিপ্টে অ্যারে অফ অ্যারেতে পার্শিয়াল সাম গণনা

  3. জাভাস্ক্রিপ্টে অ্যারে অফ অ্যারে কনভার্ট করে অবজেক্ট বানানো

  4. জাভাস্ক্রিপ্টে দুটি সর্ট করা অ্যারে মার্জ করে একটি সর্ট করা অ্যারে তৈরি করা