কম্পিউটার

একটি বস্তুর মধ্যে সংখ্যা স্বাভাবিক করুন - জাভাস্ক্রিপ্ট


ধরুন, আমাদের কাছে স্ট্রিং সহ একটি অবজেক্ট আছে যা এইরকম সংখ্যায় ম্যাপ করা আছে −

const obj = {
   num1: 45,
   num2: 78,
   num3: 234,
   num4: 3,
   num5: 79,
   num6: 23
};

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্টের মতো একটি বস্তু এবং দ্বিতীয় আর্গুমেন্ট হিসাবে কঠোরভাবে দুটি সংখ্যার অ্যারে নেয়৷

দ্বিতীয় যুক্তিটি মূলত একটি পরিসীমা −

প্রতিনিধিত্ব করে
[a, b] (b >= a)

আমাদের কাজ হল পরিসীমা অনুযায়ী বস্তুর মান স্বাভাবিক করা।

অতএব, বস্তুর বৃহত্তম মান অবশ্যই b হতে হবে এবং ক্ষুদ্রতমটি অবশ্যই a হতে হবে। এবং এর মধ্যে থাকা অন্যগুলিকে সেই অনুযায়ী সামঞ্জস্য করতে হবে।

উদাহরণ

নিম্নলিখিত কোড -

const obj = {
   num1: 45,
   num2: 78,
   num3: 234,
   num4: 3,
   num5: 79,
   num6: 23
};
const range = [10, 15];
const normaliseObject = (obj, range) => {
   const values = Object.values(obj);
   const min = Math.min.apply(Math, values);
   const max = Math.max.apply(Math, values);
   const variation = (range[1] - range[0]) / (max - min);
   Object.keys(obj).forEach(el => {
      const val = (range[0] + ((obj[el] - min) * variation)).toFixed(2);
      obj[el] = +val;
   });
};
normaliseObject(obj, range);
console.log(obj);

আউটপুট

এটি কনসোলে −

নিম্নলিখিত আউটপুট তৈরি করবে
{
   num1: 10.91,
   num2: 11.62,
   num3: 15,
   num4: 10,
   num5: 11.65,
   num6: 10.43
}

  1. জাভাস্ক্রিপ্টে ম্যাপ অবজেক্ট।

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

  3. জাভাস্ক্রিপ্টে RegExp অবজেক্ট।

  4. জাভাস্ক্রিপ্টে অবজেক্ট ইনিশিয়ালাইজার