ধরুন, আমাদের কাছে এই ধরনের বস্তুর একটি অ্যারে আছে −
const arr = [
{ resVal: "25FA15", resFlow: 49, resName: "Rendimiento Tri−Seal
Completo", resPhoto: "Tri−Sealseries.png", resHP: 1.5 },
{ resVal: "25FA2", resFlow: 52, resName: "Rendimiento Tri−Seal
Completo", resPhoto: "Tri−Sealseries.png", resHP: 2 },
{ resVal: "45FA2", resFlow: 53, resName: "Rendimiento Hi−Cap
Completo", resPhoto: "HighCapseries.png", resHP: 2 },
{ resVal: "35FA2", resFlow: 59, resName: "Rendimiento Hi−Cap
Completo", resPhoto: "HighCapseries.png", resHP: 2 }
]; আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারে অবজেক্টে নেয়। ফাংশন দুটি ভিন্ন বৈশিষ্ট্যের উপর ভিত্তি করে এই অ্যারে বাছাই করা উচিত −
-
উচ্চতর "resFlow" মান অনুসারে সাজান,
-
কিন্তু সর্বনিম্ন "resHP" মান সহ।
পন্থা
আমরা কীগুলির একটি নির্দিষ্ট ক্রম এবং তাদের সাজানোর জন্য একটি শৃঙ্খলযুক্ত পদ্ধতি ব্যবহার করছি৷
অ্যারে বৈশিষ্ট্য দ্বারা সাজানো হয় −
-
resHP, আরোহী এবং
-
resflow, descending.
এটি ডেল্টা গণনার সাথে কাজ করে এবং এটি দুটি বস্তুর সম্পর্ককে প্রতিফলিত করে। যদি মান শূন্য হয়, তাহলে দুটি মান সমান এবং পরবর্তী ডেল্টা গণনা করে ফেরত দেওয়া হয়।
উদাহরণ
এর জন্য কোড হবে −
const arr = [
{ resVal: "25FA15", resFlow: 49, resName: "Rendimiento Tri−Seal
Completo", resPhoto: "Tri−Sealseries.png", resHP: 1.5 },
{ resVal: "25FA2", resFlow: 52, resName: "Rendimiento Tri−Seal
Completo", resPhoto: "Tri−Sealseries.png", resHP: 2 },
{ resVal: "45FA2", resFlow: 53, resName: "Rendimiento Hi−Cap
Completo", resPhoto: "HighCapseries.png", resHP: 2 },
{ resVal: "35FA2", resFlow: 59, resName: "Rendimiento Hi−Cap
Completo", resPhoto: "HighCapseries.png", resHP: 2 }
];
const sortByTwo = (arr = []) => {
arr.sort((a, b) => {
return a.resHP − b.resHP || b.resFlow − a.resFlow;
});
};
sortByTwo(arr);
console.log(arr); আউটপুট
এবং কনসোলে আউটপুট হবে −
[
{
resVal: '25FA15',
resFlow: 49,
resName: 'Rendimiento Tri−Seal Completo',
resPhoto: 'Tri−Sealseries.png',
resHP: 1.5
},
{
resVal: '35FA2',
resFlow: 59,
resName: 'Rendimiento Hi−Cap Completo',
resPhoto: 'HighCapseries.png',
resHP: 2
},
{
resVal: '45FA2',
resFlow: 53,
resName: 'Rendimiento Hi−Cap Completo',
resPhoto: 'HighCapseries.png',
resHP: 2
},
{
resVal: '25FA2',
resFlow: 52,
resName: 'Rendimiento Tri−Seal Completo',
resPhoto: 'Tri−Sealseries.png',
resHP: 2
}
]