সমস্যা
ধরা যাক, একটি গাণিতিক ফাংশন দেওয়া আছে –
f(x) = ax² + bx + c
এখানে a, b এবং c তিনটি ধ্রুবক।
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে একটি সর্ট করা ইন্টিজার অ্যারে (arr) এবং বাকি তিনটি আর্গুমেন্ট হিসেবে a, b, c নেবে। ফাংশনটি অ্যারে-এর প্রতিটি এলিমেন্টে f(x) প্রয়োগ করবে এবং রূপান্তরিত অ্যারেটিকে সর্ট করা অবস্থায় রিটার্ন করবে।
উদাহরণস্বরূপ, ইনপুট যদি হয় –
const arr = [-8, -3, -1, 5, 7, 9]; const a = 1; const b = 4; const c = 7;
তবে আউটপুট হবে –
const output = [ 4, 4, 39, 52, 84, 124 ];
উদাহরণ
কোডটি নিচের মতো –
const arr = [-8, -3, -1, 5, 7, 9]; const a = 1; const b = 4; const c = 7; const applyFunction = (arr = [], a = 1, b = 1, c = 1) => { const apply = (num, a, b, c) => { const res = (a * (num * num)) + (b * num) + (c); return res; }; const result = arr.map(el => apply(el, a, b, c)); result.sort((a, b) => a - b); return result; }; console.log(applyFunction(arr, a, b, c));কোড ব্যাখ্যা:
আমরা প্রথমে অ্যারে-এর ওপর ম্যাপ করে f(x) ফাংশনটি প্রতিটি এলিমেন্টে প্রয়োগ করেছি, তারপর Array.prototype.sort() ব্যবহার করে অ্যারেটিকে সর্ট করেছি এবং অবশেষে সর্ট করা অ্যারেটি রিটার্ন করেছি।
আউটপুট
কনসোলে আউটপুট হবে –
[ 4, 4, 39, 52, 84, 124 ]