ஜாவாஸ்கிரிப்ட்: சொத்து மதிப்பின்படி பொருள்களின் வரிசையை வரிசைப்படுத்துதல்

ஜாவாஸ்கிரிப்ட்: சொத்து மதிப்பின்படி பொருள்களின் வரிசையை வரிசைப்படுத்துதல்
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(), மற்றொரு பயனுள்ள நுட்பம் கேஸ் சென்சிட்டிவிட்டியைக் கையாள்வது. ஜாவாஸ்கிரிப்ட்டின் சரம் ஒப்பீடு இயல்பாகவே கேஸ்-சென்சிட்டிவ் ஆகும், எனவே '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() மற்றும் கேஸ் உணர்திறனைக் கையாள்வதன் மூலம், துல்லியமான மற்றும் அர்த்தமுள்ள தரவு வரிசைப்படுத்தலை நீங்கள் உறுதிசெய்யலாம். இந்த நுட்பங்களைப் புரிந்துகொள்வது, சிறந்த கையாளுதல் மற்றும் தரவை வழங்குவதற்கு அனுமதிக்கிறது, மேலும் சிக்கலான காட்சிகளை எளிதாக வழங்குகிறது. கூடுதலாக, பல பண்புகளால் வரிசைப்படுத்துவது நுட்பத்தின் மற்றொரு அடுக்கைச் சேர்க்கிறது, வரிசைப்படுத்தப்பட்ட வெளியீட்டை மிகவும் பொருத்தமானதாகவும் ஒழுங்கமைக்கவும் செய்கிறது.