ধরুন, আমাদের কাছে স্ট্রিং সহ একটি অবজেক্ট আছে যা এইরকম সংখ্যায় ম্যাপ করা আছে −
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 }