জাভাস্ক্রিপ্ট: সম্পত্তির মান অনুসারে অবজেক্টের অ্যারে সাজানো

জাভাস্ক্রিপ্ট: সম্পত্তির মান অনুসারে অবজেক্টের অ্যারে সাজানো
JavaScript

স্ট্রিং প্রপার্টি দ্বারা জাভাস্ক্রিপ্ট অবজেক্ট বাছাই করা

জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে বাছাই করা একটি সাধারণ কাজ, বিশেষত যখন নির্দিষ্ট ক্রমে প্রদর্শিত হওয়া দরকার এমন ডেটা নিয়ে কাজ করার সময়। একটি সাধারণ দৃশ্যে স্ট্রিং সম্পত্তি মান দ্বারা যেমন একটি শেষ নাম বা শিরোনাম দ্বারা অবজেক্টের একটি অ্যারে বাছাই করা জড়িত।

এই নিবন্ধে, আমরা একটি স্ট্রিং সম্পত্তির মান দ্বারা জাভাস্ক্রিপ্ট অবজেক্টের একটি অ্যারে সাজানোর উপায় অন্বেষণ করব। আমরা `sort()` পদ্ধতির ব্যবহার পরীক্ষা করব এবং অতিরিক্ত পদক্ষেপগুলি, যেমন বস্তুতে একটি `toString()` পদ্ধতি যোগ করা প্রয়োজন কিনা তা নিয়ে আলোচনা করব।

আদেশ বর্ণনা
sort(function(a, b) {...}) নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে অ্যারের উপাদানগুলির ক্রম নির্ধারণ করতে একটি কাস্টম বাছাই ফাংশন সংজ্ঞায়িত করে।
localeCompare() বর্তমান লোকেলে দুটি স্ট্রিং তুলনা করে, একটি সংখ্যা প্রদান করে যা নির্দেশ করে যে একটি রেফারেন্স স্ট্রিং আগে বা পরে আসে নাকি প্রদত্ত স্ট্রিংটির মতো একই।
console.log() কনসোলে তথ্য আউটপুট করে, সাধারণত ডিবাগিংয়ের উদ্দেশ্যে।

জাভাস্ক্রিপ্ট অবজেক্ট সাজানোর বিস্তারিত ব্যাখ্যা

উপরে প্রদত্ত স্ক্রিপ্টগুলি জাভাস্ক্রিপ্ট অবজেক্টের একটি অ্যারে সাজানোর জন্য ডিজাইন করা হয়েছে একটি স্ট্রিং সম্পত্তির মান দ্বারা last_nom. প্রথম উদাহরণে, আমরা ব্যবহার করি sort(function(a, b) {...}) পদ্ধতি, যা আমাদের একটি কাস্টম বাছাই ফাংশন সংজ্ঞায়িত করতে দেয়। এই ফাংশন তুলনা last_nom প্রতিটি বস্তুর সম্পত্তি। যদি প্রথম বস্তুর last_nom দ্বিতীয় বস্তুর চেয়ে কম last_nom, এটি -1 প্রদান করে, নির্দেশ করে যে প্রথম বস্তুটি দ্বিতীয়টির আগে আসা উচিত। যদি প্রথম বস্তুর last_nom বৃহত্তর, এটি 1 প্রদান করে, যার অর্থ প্রথম বস্তুটি দ্বিতীয়টির পরে আসা উচিত। যদি তারা সমান হয়, এটি 0 প্রদান করে, ইঙ্গিত করে যে তাদের অবস্থান অপরিবর্তিত থাকবে।

দ্বিতীয় স্ক্রিপ্টটি আরও সংক্ষিপ্ত ES6 সিনট্যাক্স ব্যবহার করে। দ্য localeCompare() পদ্ধতি মধ্যে নিযুক্ত করা হয় sort() তুলনা করার ফাংশন last_nom বস্তুর বৈশিষ্ট্য। এই পদ্ধতিটি এমন একটি সংখ্যা প্রদান করে যা নির্দেশ করে যে একটি স্ট্রিং আগে, পরে, বা বর্তমান লোকেলে অন্য স্ট্রিংয়ের মতো একই। দ্য console.log() যাচাইকরণের জন্য কনসোলে সাজানো অ্যারে আউটপুট করতে উভয় স্ক্রিপ্টে ফাংশন ব্যবহার করা হয়। উভয় পদ্ধতি কার্যকরভাবে দ্বারা বস্তুর বিন্যাস বাছাই last_nom সম্পত্তি, জাভাস্ক্রিপ্টে অবজেক্ট প্রোপার্টি বাছাই কিভাবে পরিচালনা করতে হয় তা প্রদর্শন করে।

জাভাস্ক্রিপ্টে স্ট্রিং প্রপার্টি দ্বারা অবজেক্টের অ্যারে সাজানো

ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট

var objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort(function(a, b) {
    if (a.last_nom < b.last_nom) {
        return -1;
    }
    if (a.last_nom > b.last_nom) {
        return 1;
    }
    return 0;
});

console.log(objs);

ES6 সিনট্যাক্স ব্যবহার করে স্ট্রিং প্রপার্টি দ্বারা অবজেক্টের অ্যারে সাজানো

ES6 জাভাস্ক্রিপ্ট

const objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort((a, b) => a.last_nom.localeCompare(b.last_nom));

console.log(objs);

জাভাস্ক্রিপ্টে স্ট্রিং প্রপার্টি দ্বারা অবজেক্টের অ্যারে সাজানো

ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট

var objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort(function(a, b) {
    if (a.last_nom < b.last_nom) {
        return -1;
    }
    if (a.last_nom > b.last_nom) {
        return 1;
    }
    return 0;
});

console.log(objs);

ES6 সিনট্যাক্স ব্যবহার করে স্ট্রিং প্রপার্টি দ্বারা অবজেক্টের অ্যারে সাজানো

ES6 জাভাস্ক্রিপ্ট

const objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort((a, b) => a.last_nom.localeCompare(b.last_nom));

console.log(objs);

জাভাস্ক্রিপ্টে অবজেক্ট সাজানোর জন্য উন্নত কৌশল

জাভাস্ক্রিপ্টে একটি স্ট্রিং প্রপার্টি দ্বারা অবজেক্টের অ্যারে বাছাই করার সময়, এর জটিলতাগুলি বোঝা অপরিহার্য sort() পদ্ধতি ডিফল্টরূপে, sort() পদ্ধতি স্ট্রিং হিসাবে উপাদান সাজান. সংখ্যা বা বিশেষ অক্ষর নিয়ে কাজ করার সময় এটি অপ্রত্যাশিত ফলাফলের দিকে নিয়ে যেতে পারে। সঠিক বাছাই নিশ্চিত করতে, বিশেষ করে স্ট্রিং বৈশিষ্ট্যের সাথে, আপনার একটি কাস্টম তুলনা ফাংশন ব্যবহার করা উচিত। এছাড়াও localeCompare(), আরেকটি দরকারী কৌশল হল কেস সংবেদনশীলতা পরিচালনা করা। JavaScript-এর স্ট্রিং তুলনা ডিফল্টরূপে কেস-সংবেদনশীল, তাই 'a' কে 'A'-এর থেকে কম বিবেচনা করা হবে। এটি এড়ানোর জন্য, আপনি আপনার তুলনা ফাংশনের মধ্যে সমস্ত স্ট্রিংকে লোয়ার বা আপার কেসে রূপান্তর করতে পারেন।

বিবেচনা করার আরেকটি গুরুত্বপূর্ণ দিক হল একাধিক বৈশিষ্ট্য দ্বারা বাছাই করা। উদাহরণস্বরূপ, যদি দুটি বস্তু একই থাকে last_nom মান, আপনি তাদের আরও বাছাই করতে চাইতে পারেন first_nom. এটি অতিরিক্ত শর্ত অন্তর্ভুক্ত করার জন্য কাস্টম তুলনা ফাংশন প্রসারিত করে অর্জন করা যেতে পারে। এই ধরনের বহু-স্তরের বাছাই নিশ্চিত করে যে ডেটা ব্যাপকভাবে অর্ডার করা হয়েছে, আরও অর্থপূর্ণ ফলাফল প্রদান করে। এই উন্নত বাছাই কৌশলগুলি বোঝা এবং প্রয়োগ করে, আপনি জাভাস্ক্রিপ্টে কার্যকরভাবে আরও জটিল ডেটা বাছাইয়ের পরিস্থিতি পরিচালনা করতে পারেন।

জাভাস্ক্রিপ্ট অবজেক্ট বাছাই সম্পর্কে সাধারণ প্রশ্ন

  1. আপনি কিভাবে একটি স্ট্রিং সম্পত্তি দ্বারা বস্তুর একটি অ্যারে বাছাই করবেন?
  2. ব্যবহার sort() একটি কাস্টম তুলনা ফাংশন সঙ্গে পদ্ধতি, ব্যবহার localeCompare() স্ট্রিং তুলনার জন্য।
  3. জাভাস্ক্রিপ্ট বাছাই কেস-সংবেদনশীল?
  4. হ্যাঁ, ডিফল্টরূপে। এটি এড়াতে তুলনা ফাংশনের মধ্যে স্ট্রিংগুলিকে ছোট বা বড় হাতের অক্ষরে রূপান্তর করুন।
  5. আপনি কিভাবে একাধিক বৈশিষ্ট্য দ্বারা বাছাই পরিচালনা করবেন?
  6. গৌণ বৈশিষ্ট্য দ্বারা বাছাই করার জন্য অতিরিক্ত শর্ত অন্তর্ভুক্ত করতে কাস্টম তুলনা ফাংশন প্রসারিত করুন।
  7. আপনি একটি যোগ করতে হবে toString() সাজানোর জন্য আপনার বস্তুর পদ্ধতি?
  8. না, একটি কাস্টম তুলনা ফাংশন ব্যবহার করা যথেষ্ট।
  9. কি করে localeCompare() করতে?
  10. এটি বর্তমান লোকেলে দুটি স্ট্রিং তুলনা করে এবং তাদের অর্ডার নির্দেশ করে একটি সংখ্যা প্রদান করে।
  11. আপনি একই পদ্ধতি ব্যবহার করে সাংখ্যিক বৈশিষ্ট্য দ্বারা বস্তু বাছাই করতে পারেন?
  12. হ্যাঁ, আপনি সাংখ্যিক তুলনা পরিচালনা করার জন্য তুলনা ফাংশনটি কাস্টমাইজ করতে পারেন।
  13. আপনি কিভাবে সাজানো অ্যারে আউটপুট করবেন?
  14. ব্যবহার করুন console.log() যাচাইকরণের জন্য কনসোলে সাজানো অ্যারে প্রিন্ট করতে।
  15. তুলনা ফাংশনে রিটার্ন মানগুলির তাৎপর্য কী?
  16. তারা উপাদানগুলির ক্রম নির্ধারণ করে: -1 এর চেয়ে কম, 1 এর চেয়ে বড় এবং 0 সমান।

জাভাস্ক্রিপ্টে অবজেক্ট বাছাই করা

জাভাস্ক্রিপ্টে স্ট্রিং প্রোপার্টি দ্বারা অবজেক্টের একটি অ্যারে বাছাই করা দক্ষতার সাথে ব্যবহার করে অর্জন করা যেতে পারে sort() একটি কাস্টম তুলনা ফাংশন সহ পদ্ধতি। লিভারেজ করে localeCompare() এবং কেস সংবেদনশীলতা পরিচালনা করে, আপনি সঠিক এবং অর্থপূর্ণ ডেটা বাছাই নিশ্চিত করতে পারেন। এই কৌশলগুলি বোঝার মাধ্যমে তথ্যের আরও ভাল ম্যানিপুলেশন এবং উপস্থাপনা করা যায়, আরও জটিল পরিস্থিতি সহজে পূরণ করা যায়। উপরন্তু, একাধিক বৈশিষ্ট্য দ্বারা বাছাই করা পরিশীলিততার আরেকটি স্তর যুক্ত করে, বাছাই করা আউটপুটকে আরও প্রাসঙ্গিক এবং সংগঠিত করে।