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

জাভাস্ক্রিপ্টে অ্যারে ইনডেক্স অনুযায়ী সর্ট এবং ম্যাপ


সমস্যা বিবরণ

অবজেক্টের একটি অ্যারে দেওয়া আছে যেখানে প্রতিটিতে name এবং index প্রপার্টি আছে। index অনুযায়ী সর্ট করে শুধু name অ্যারে রিটার্ন করতে হবে।

ইনপুট:

const arr = [
  {'name': 'd', 'index': 3},
  {'name': 'c', 'index': 2},
  {'name': 'a', 'index': 0},
  {'name': 'b', 'index': 1}
];

আউটপুট: ["a", "b", "c", "d"]

সমাধান

const arr = [
  {'name': 'd', 'index': 3},
  {'name': 'c', 'index': 2},
  {'name': 'a', 'index': 0},
  {'name': 'b', 'index': 1}
];

const sortAndMap = (arr = []) => {
  const copy = arr.slice();
  const sorter = (a, b) => a['index'] - b['index'];
  copy.sort(sorter);
  const res = copy.map(({name, index}) => name);
  return res;
};

console.log(sortAndMap(arr));

আউটপুট

[ 'a', 'b', 'c', 'd' ]

ব্যাখ্যা

  • slice() দিয়ে কপি তৈরি করা হয়েছে যাতে মূল অ্যারে পরিবর্তন না হয়।
  • sort দিয়ে ইনডেক্স অনুযায়ী সর্ট।
  • map দিয়ে শুধু name প্রপার্টি বের করা।
  1. জাভাস্ক্রিপ্ট Array reverse() মেথড

  2. জাভাস্ক্রিপ্ট Array.findIndex() ফাংশন

  3. জাভাস্ক্রিপ্ট array.keys() মেথড: ব্যবহার এবং উদাহরণ

  4. জাভাস্ক্রিপ্টে Array.prototype.sort() মেথড