JavaScript இல் Map vs ஆப்ஜெக்ட்

Javascript Il Map Vs Apjekt



' வரைபடம் 'மற்றும்' பொருள் ” என்பது ஜாவாஸ்கிரிப்டில் உள்ள இரண்டு பொதுவான தரவு கட்டமைப்புகள் முக்கிய மதிப்பு ஜோடிகளை சேமிக்க பயன்படுகிறது. எந்தவொரு தரவு வகையையும் விசையாகவோ அல்லது மதிப்பாகவோ சேமிக்கக்கூடிய தரவுக் கட்டமைப்பு உங்களுக்குத் தேவைப்படும்போது ஒரு வரைபடம் பயன்படுத்தப்படுகிறது மற்றும் விசை மதிப்பு ஜோடிகளின் வரிசைப்படுத்தப்பட்ட சேகரிப்பு தேவைப்படும். நீங்கள் சரம் விசைகளை மட்டுமே சேமிக்க வேண்டியிருக்கும் போது பொருள் பயன்படுத்தப்படும்.

இந்த இடுகை ஜாவாஸ்கிரிப்டில் வரைபடத்திற்கும் பொருளுக்கும் உள்ள வித்தியாசத்தை விளக்குகிறது.

ஜாவாஸ்கிரிப்ட்டில் ஒரு பொருளை எவ்வாறு வரையறுப்பது?

ஜாவாஸ்கிரிப்டில், ஒரு பொருள் என்பது பண்புகளின் தொகுப்பாகும், ஒவ்வொன்றும் ஒரு முக்கிய-மதிப்பு ஜோடி. ' முக்கிய ' என்பது ' பெயர் ', மற்றும் ஒரு ' மதிப்பு ” என்பது விசைக்கு எதிரான “மதிப்பு”. பொருள்கள் கார், நபர் அல்லது வங்கிக் கணக்கு போன்ற நிஜ உலகப் பொருட்களைக் குறிக்கலாம். விண்வெளியில் உள்ள கணிதப் புள்ளி, நிறம் அல்லது தேதி போன்ற சுருக்கமான பொருட்களையும் அவை பிரதிநிதித்துவப்படுத்தலாம்.







தொடரியல்



பொருள் குறிப்பான {} அடைப்புக்குறிகள் அல்லது பொருள் கட்டமைப்பாளரைப் பயன்படுத்தி ஒரு பொருளை உருவாக்க முடியும். நேரடி குறியீடு அல்லது அடைப்புக்குறிகளைப் பயன்படுத்தி, கீழே உள்ள தொடரியல் பயன்படுத்தவும்:



நிலையான பொருள் = {
முக்கிய : மதிப்பு,
முக்கிய : மதிப்பு
}

பொருள் கட்டமைப்பாளரைப் பயன்படுத்தி ஒரு பொருளை உருவாக்குதல் அல்லது ' புதிய ” முக்கிய வார்த்தை, பின்வரும் தொடரியல் பயன்படுத்தவும்:





நிலையான பொருள் = புதிய பொருள் ( ) ;

பொருள். முக்கிய = மதிப்பு ;

குறிப்பு: பொருள் பண்புகளின் விசைகள் அல்லது பெயர்கள் ஒரு சரமாக இருக்க வேண்டும் என்பதை நினைவில் கொள்க.

எடுத்துக்காட்டு 1: ஜாவாஸ்கிரிப்டில் உள்ள எழுத்துக்குறியைப் பயன்படுத்தி ஒரு பொருளை உருவாக்கவும்

பின்வரும் எடுத்துக்காட்டில், '' என்ற பொருளை உருவாக்குவோம். stdObject 'எழுத்தான குறியீடு அல்லது அடைப்புக்குறிகளைப் பயன்படுத்துதல்:



var stdObject = {
பெயர் : 'ஜான்' ,
வயது : 18 ,
ரோல்னோ : 25 ,
தரநிலை : 9
}

கன்சோலில் பொருளை அச்சிடவும்:

பணியகம். பதிவு ( stdObject ) ;

வெளியீடு

எடுத்துக்காட்டு 2: ஜாவாஸ்கிரிப்டில் ஆப்ஜெக்ட் கன்ஸ்ட்ரக்டரைப் பயன்படுத்தி ஒரு பொருளை உருவாக்கவும்

இங்கே, ஆப்ஜெக்ட் கன்ஸ்ட்ரக்டரைப் பயன்படுத்தி ஒரு பொருளை உருவாக்குவோம் ' புதிய 'முக்கிய சொல்:

நிலையான stdObject = புதிய பொருள் ( ) ;

இப்போது, ​​புள்ளி(.) குறியீட்டைப் பயன்படுத்தி பொருள்களின் பண்புகளை (முக்கிய மதிப்பு) சேர்க்கவும்:

stdObject. பெயர் = 'ஃபக்' ;

stdObject. வயது = 19 ;

stdObject. ரோல்னோ = பதினைந்து ;

stdObject. தரநிலை = 10 ;

கடைசியாக, '' ஐப் பயன்படுத்தி கன்சோலில் பொருளைக் காண்பி console.log() ”முறை:

பணியகம். பதிவு ( stdObject ) ;

வெளியீடு

ஜாவாஸ்கிரிப்டில் வரைபடத்தை எப்படி வரையறுப்பது?

ஜாவாஸ்கிரிப்டில், ஒரு ' வரைபடம் ” என்பது ஒரு பொருளுக்கு ஒத்த முக்கிய மதிப்பு ஜோடிகளை வைத்திருக்கும் தரவு அமைப்பு. விசைகளுடன் தரவை இணைக்கவும், விசைகளைப் பயன்படுத்தி பின்னர் தரவை மீட்டெடுக்கவும் இது உங்களை அனுமதிக்கிறது. அகராதிகள், ஹாஷ் அட்டவணைகள் மற்றும் மதிப்புகளுக்கு விசைகளை வரைபடமாக்கும் பிற தரவு கட்டமைப்புகளை செயல்படுத்த வரைபடங்கள் பயன்படுத்தப்படலாம்.

தொடரியல்

வரைபடத்தைத் தொடங்க, பின்வரும் தொடரியல் பயன்படுத்தவும்:

நிலையான வரைபடம் = புதிய வரைபடம் ( [

[ 'விசை' , 'மதிப்பு' ] ,

[ 'விசை' , 'மதிப்பு' ]

] ) ;

மேப் கன்ஸ்ட்ரக்டரைப் பயன்படுத்தியோ அல்லது புதிய ஆபரேட்டரைப் பயன்படுத்தியோ நீங்கள் ஒரு வரைபடத்தை உருவாக்கலாம், மேலும் '' ஐப் பயன்படுத்தி மதிப்புகளை அமைக்கலாம். தொகுப்பு () ”முறை:

நிலையான வரைபடம் = புதிய வரைபடம் ( ) ;

வரைபடம். அமைக்கப்பட்டது ( 'விசை' , 'மதிப்பு' ) ;

எடுத்துக்காட்டு: JavaScript இல் ஒரு வரைபடத்தை உருவாக்கவும்

கொடுக்கப்பட்ட எடுத்துக்காட்டில், இரண்டு தொடரியல் பயன்படுத்தி ஒரு வரைபடத்தை உருவாக்குவோம்.

துவக்க முறையைப் பயன்படுத்தி வரைபடத்தை உருவாக்கவும். இங்கே, நாங்கள் விசைகளை ஒரு சரமாக அமைப்போம், அதே நேரத்தில் நீங்கள் எந்த வகையிலும் வரைபடத்தில் விசைகளை அமைக்கலாம்:

நிலையான வரைபடம் எஸ்டிடி = புதிய வரைபடம் ( [
[ 'பெயர்' , 'ஜான்' ] ,
[ 'வயது' , 18 ] ,
[ 'ரோல்னோ' , 25 ] ,
[ 'தரநிலை' , 9 ] ,
] ) ;

அல்லது மேப் கன்ஸ்ட்ரக்டர் அல்லது புதிய கீவேர்ட்/ஆபரேட்டரை அழைத்து வரைபடத்தை உருவாக்கவும்:

நிலையான வரைபடம் எஸ்டிடி = புதிய வரைபடம் ( ) ;

வரைபடத்தில் மதிப்புகளை ஒரு முக்கிய மதிப்பு ஜோடியாக அமைக்கவும் தொகுப்பு () ”முறை:

வரைபடம் எஸ்டிடி. அமைக்கப்பட்டது ( 'பெயர்' , 'ஜான்' ) ;

வரைபடம் எஸ்டிடி. அமைக்கப்பட்டது ( 'வயது' , 18 ) ;

வரைபடம் எஸ்டிடி. அமைக்கப்பட்டது ( 'ரோல்னோ' , 25 ) ;

வரைபடம் எஸ்டிடி. அமைக்கப்பட்டது ( 'தரநிலை' , 9 ) ;

கன்சோலில் வரைபடத்தை அச்சிட, '' ஐப் பயன்படுத்தவும் உள்ளீடுகள்() 'முறையுடன்' க்கான ”வளையம்:

க்கான ( நிலையான [ முக்கிய, மதிப்பு ] வரைபடத்தின். உள்ளீடுகள் ( ) ) {

பணியகம். பதிவு ( `$ { முக்கிய } : $ { மதிப்பு } ` ) ;

}

அல்லது குறிப்பிட்ட விசை/சொத்தின் மதிப்பை அணுக, ' பெறு() ”முறை:

பணியகம். பதிவு ( 'தி ரோல்னோ' + வரைபடம் எஸ்டிடி. பெறு ( 'பெயர்' ) + ' இருக்கிறது ' + வரைபடம் எஸ்டிடி. பெறு ( 'ரோல்னோ' ) ) ;

வெளியீடு வரைபடத்தின் அனைத்து பண்புகளையும் குறிப்பிட்ட சொத்தின் மதிப்பையும் குறிக்கிறது:

JavaScript இல் Map vs ஆப்ஜெக்ட்

வரைபடத்திற்கும் பொருளுக்கும் உள்ள முதன்மை வேறுபாடு பின்வருமாறு:

வரைபடம் பொருள்
இது 2015 இல் ECMAScript 6 இல் அறிமுகப்படுத்தப்பட்டது. ஜாவாஸ்கிரிப்ட் 1997 இல் வெளியிடப்பட்ட அதன் முதல் பதிப்பில் (ECMAScript 1) பொருள் தரவு வகையை அறிமுகப்படுத்தியது.
வரைபடம் எந்த தரவு வகையின் விசைகளையும் அனுமதிக்கிறது (எ.கா., பொருள்கள், செயல்பாடுகள், எண்கள் போன்றவை). பொருள் விசைகள் சரங்களாக இருக்க வேண்டும்.
ஒரு வரைபடத்தின் பண்புகளை get() முறையைப் பயன்படுத்தி அணுகலாம். புள்ளி குறியீடு அல்லது சதுர அடைப்புக்குறி குறியீட்டைப் பயன்படுத்தி பொருள் பண்புகளை அணுகலாம்.
முக்கிய-மதிப்பு ஜோடிகளின் எண்ணிக்கையை வழங்க வரைபடத்தில் உள்ளமைக்கப்பட்ட அளவு சொத்து உள்ளது பொருளில் இந்த அம்சம் இல்லை.
வரைபடம் மீண்டும் செய்யக்கூடியது. forEach(), keys(), values(), and entries() போன்ற சில உள்ளமைக்கப்பட்ட முறைகளைப் பயன்படுத்தி அனைத்து விசை-மதிப்பு ஜோடிகளையும் லூப்பிங் செய்ய இது அனுமதிக்கிறது. பொருள் மீண்டும் மீண்டும் செய்யக்கூடியது அல்ல. விசை-மதிப்பு ஜோடிகளை மீண்டும் செய்ய 'for-in' லூப்கள் அல்லது Object.entries() முறையைப் பயன்படுத்த வேண்டிய அவசியம் உள்ளது.
வரைபடம் வரிசைப்படுத்தப்பட்டுள்ளது. பொருள் வரிசைப்படுத்தப்படவில்லை.

சிறிய தரவுத் தொகுப்புகளுடன் பணிபுரியும் போது, ​​Maps மற்றும் ஆப்ஜெக்ட்டுகளுக்கு இடையேயான செயல்திறன் வேறுபாடு மிகக் குறைவு, ஆனால் பெரிய தரவுத் தொகுப்புகளுடன் பணிபுரியும் போது, ​​அவை செயல்திறனுக்காக உகந்ததாக்கப்படுவதால் Maps வேகமாக இருக்கும்.

ஜாவாஸ்கிரிப்டில் உள்ள பொருள்களை விட வரைபடம் எப்போது விரும்புகிறது?

எண்கள், பொருள்கள் அல்லது குறியீடுகள் போன்ற எந்த தரவு வகையாக இருந்தாலும், ஆர்டர் செய்யப்பட்ட வடிவத்தில் விசை-மதிப்பு ஜோடிகளைச் சேமிக்க வேண்டியிருக்கும் போது, ​​' வரைபடம் 'தரவு அமைப்பு. நீங்கள் சரங்களை விசைகளாகப் பயன்படுத்த வேண்டியிருக்கும் போது மற்றும் வரைபடத்தின் அம்சங்கள் எதுவும் உங்களுக்குத் தேவைப்படாதபோது பொருள்கள் பயன்படுத்தப்படும். சிறிய தரவுத் தொகுப்புகளுடன் பணிபுரியும் போது Maps மற்றும் ஆப்ஜெக்ட்டுகளுக்கு இடையேயான செயல்திறன் வேறுபாடு மிகக் குறைவு, ஆனால் பெரிய தரவுத் தொகுப்புகளுடன் பணிபுரியும் போது, ​​வரைபடங்கள் செயல்திறனுக்காக உகந்ததாக இருப்பதால் அவை வேகமாக இருக்கும்.

முடிவுரை

Map மற்றும் Object இரண்டும் ஜாவாஸ்கிரிப்டில் தரவை முக்கிய மதிப்பு ஜோடிகளாக சேமிக்கப் பயன்படுகிறது, ஆனால் அவற்றுக்கு சில வேறுபாடுகள் உள்ளன. வரைபடம் என்பது பொருளை விட மிகவும் சக்திவாய்ந்த மற்றும் நெகிழ்வான தரவு கட்டமைப்பாகும், மேலும் நீங்கள் ஆர்டர் செய்ய வேண்டிய முக்கிய மதிப்பு ஜோடிகளை சேமிக்க வேண்டும், வெவ்வேறு தரவு வகைகளின் விசைகளை வைத்திருக்க வேண்டும் அல்லது அளவு சொத்தை வைத்திருக்க வேண்டும் என்றால் விருப்பமான தேர்வாகும். இந்த இடுகை ஜாவாஸ்கிரிப்டில் வரைபடத்திற்கும் பொருளுக்கும் உள்ள வித்தியாசத்தை விளக்கியது.