কম্পিউটার

জাভাস্ক্রিপ্টে মার্কের ভিত্তিতে র‌্যাঙ্ক নির্ধারণ করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা শুধুমাত্র আর্গুমেন্ট হিসাবে সংখ্যার একটি অ্যারে, অ্যার, গ্রহণ করে৷

অ্যারেটি মূলত কিছু শিক্ষার্থীর স্কোর করা মার্ক নিয়ে থাকে, মার্কের অ্যারের উপর ভিত্তি করে, আমাদের ফাংশনটি র‌্যাঙ্কের একটি অ্যারে তৈরি করে ফেরত দেয় যাতে মার্ক অ্যারেতে তাদের নম্বর কতটা উচ্চতার ভিত্তিতে সংশ্লিষ্ট শিক্ষার্থীদের র‌্যাঙ্ক থাকা উচিত। arr.

উদাহরণস্বরূপ, অ্যারে অ্যারের সর্বোচ্চ প্রবেশের জন্য, আউটপুট অ্যারেতে সংশ্লিষ্ট এন্ট্রি হতে হবে 1, দ্বিতীয় সর্বোচ্চ এবং আরও কিছুর জন্য 2।

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

const arr = [50, 47, 39, 32, 31];

তারপর আউটপুট −

হওয়া উচিত
const output = [1, 2, 3, 4, 5];

আউটপুট ব্যাখ্যা:

অ্যারে অ্যারের চিহ্নগুলি ইতিমধ্যেই হ্রাসকারী ক্রমে স্থাপন করা হয়েছে যার অর্থ সর্বোচ্চ চিহ্নগুলি একেবারে প্রথম সূচকে রয়েছে এবং আরও অনেক কিছু৷

উদাহরণ

এর জন্য কোড হবে −

const arr = [50, 47, 39, 32, 31];
const findRanks = (arr = []) => {
   const { length } = arr;
   let sortArray = arr.slice();
   sortArray.sort((a,b) => b - a);
   const result = [];
   for(let i = 0; i < length; i++){
      const j = sortArray.indexOf(arr[i])
      result.push(j + 1);
   }
   return result;
};
console.log(findRanks(arr));

আউটপুট

এবং কনসোলে আউটপুট হবে −

[ 1, 2, 3, 4, 5 ]

  1. আমি কিভাবে জাভাস্ক্রিপ্টে একটি অ্যারে খালি করব?

  2. জাভাস্ক্রিপ্টে কিভাবে একটি অ্যারে খালি করা যায়

  3. জাভাস্ক্রিপ্ট বেসিক অ্যারে পদ্ধতি

  4. জাভাস্ক্রিপ্টে জোড় বা বিজোড় হিসাবে অ্যারের যোগফল নির্ণয় করা