ধরা যাক আমাদের কাছে বস্তুর একটি অ্যারে রয়েছে যাতে একটি কার্ড গেমের কিছু খেলোয়াড়ের স্কোর থাকে -
const scorecard = [{
name: "Zahir",
score: 23
}, {
name: "Kabir",
score: 13
}, {
name: "Kunal",
score: 29
}, {
name: "Arnav",
score: 42
}, {
name: "Harman",
score: 19
}, {
name: "Rohit",
score: 41
}, {
name: "Rajan",
score: 34
}]; আমাদের কাছে selfName নামে একটি ভেরিয়েবল রয়েছে যাতে একটি নির্দিষ্ট খেলোয়াড়ের নাম থাকে −
const selfName = 'Arnav';
আমাদের এমন একটি ফাংশন লিখতে হবে যা স্কোরকার্ড অ্যারেকে বর্ণানুক্রমিক ক্রমে সাজায় এবং নিশ্চিত করে যে স্বনাম-এর মতো নাম সহ বস্তুটি শীর্ষে (সূচী ০-এ) প্রদর্শিত হবে।
অতএব, আসুন এই সমস্যার জন্য কোড লিখি -
উদাহরণ
const scorecard = [{
name: "Zahir",
score: 23
}, {
name: "Kabir",
score: 13
}, {
name: "Kunal",
score: 29
}, {
name: "Arnav",
score: 42
}, {
name: "Harman",
score: 19
}, {
name: "Rohit",
score: 41
}, {
name: "Rajan",
score: 34
}];
const selfName = 'Arnav';
const sorter = (a, b) => {
if(a.name === selfName){
return -1;
};
if(b.name === selfName){
return 1;
};
return a.name < b.name ? -1 : 1;
};
scorecard.sort(sorter);
console.log(scorecard); আউটপুট
কনসোলে আউটপুট হবে −
[
{ name: 'Arnav', score: 42 },
{ name: 'Harman', score: 19 },
{ name: 'Kabir', score: 13 },
{ name: 'Kunal', score: 29 },
{ name: 'Rajan', score: 34 },
{ name: 'Rohit', score: 41 },
{ name: 'Zahir', score: 23 }
]