ஜாவாஸ்கிரிப்டின் 'enumerate' இட்டரேட்டர் உதவிக்கான ஒரு விரிவான வழிகாட்டி, அட்டவணை-மதிப்பு ஸ்ட்ரீம் செயலாக்கம் மற்றும் நவீன ஜாவாஸ்கிரிப்ட் மேம்பாட்டிற்கான அதன் நன்மைகளை ஆராய்கிறது.
ஜாவாஸ்கிரிப்ட் இட்டரேட்டர் உதவி: Enumerate - அட்டவணை-மதிப்பு ஸ்ட்ரீம் செயலாக்கம்
ஜாவாஸ்கிரிப்ட் தொடர்ந்து வளர்ந்து வருகிறது, மேலும் மொழிக்கு சமீபத்திய சேர்த்தல்கள், குறிப்பாக இட்டரேட்டர் உதவிகள், தரவு கையாளுதல் மற்றும் செயலாக்கத்திற்கான சக்திவாய்ந்த புதிய கருவிகளை வழங்குகின்றன. இந்த உதவிகளுக்கு மத்தியில், enumerate தரவு ஸ்ட்ரீம்களுடன் பணிபுரிவதில் ஒரு மதிப்புமிக்க சொத்தாக நிற்கிறது, அங்கு அட்டவணை மற்றும் மதிப்பு இரண்டும் முக்கியமானவை. இந்த கட்டுரை enumerate இட்டரேட்டர் உதவிக்கு ஒரு விரிவான வழிகாட்டியை வழங்குகிறது, அதன் பயன்பாட்டு வழக்குகள், நன்மைகள், மற்றும் நவீன ஜாவாஸ்கிரிப்ட் மேம்பாட்டில் நடைமுறை பயன்பாடுகளை ஆராய்கிறது.
இட்டரேட்டர்கள் மற்றும் இட்டரேட்டர் உதவிகளைப் புரிந்துகொள்ளுதல்
enumerate இன் விவரங்களுக்குள் செல்வதற்கு முன், ஜாவாஸ்கிரிப்டில் இட்டரேட்டர்கள் மற்றும் இட்டரேட்டர் உதவிகளின் பரந்த சூழலைப் புரிந்துகொள்வது அவசியம்.
இட்டரேட்டர்கள்
ஒரு இட்டரேட்டர் என்பது ஒரு வரிசையை வரையறுக்கும் ஒரு ஆப்ஜெக்ட் ஆகும், மற்றும், முடிவில், ஒருவேளை ஒரு திரும்பும் மதிப்பையும் கொண்டிருக்கும். இன்னும் குறிப்பாக, ஒரு இட்டரேட்டர் என்பது இட்டரேட்டர் நெறிமுறையை செயல்படுத்தும் எந்தவொரு ஆப்ஜெக்ட் ஆகும், இது இரண்டு பண்புகளுடன் ஒரு ஆப்ஜெக்ட்டை வழங்கும் next() முறையைக் கொண்டுள்ளது:
value: வரிசையில் அடுத்த மதிப்பு.done: இட்டரேட்டர் முடிந்துவிட்டதா என்பதைக் குறிக்கும் ஒரு பூலியன்.
இட்டரேட்டர்கள் ஒரு சேகரிப்பு அல்லது தரவு ஸ்ட்ரீமின் கூறுகளைக் கடந்து செல்லவும் அணுகவும் ஒரு தரப்படுத்தப்பட்ட வழியை வழங்குகின்றன.
இட்டரேட்டர் உதவிகள்
இட்டரேட்டர் உதவிகள் என்பது இட்டரேட்டர்களின் செயல்பாட்டை விரிவுபடுத்தும் முறைகள் ஆகும், பொதுவான தரவு கையாளுதல் பணிகளை மிகவும் சுருக்கமான மற்றும் வெளிப்படையான முறையில் செய்ய அனுமதிக்கிறது. அவை இட்டரேட்டர்களுடன் செயல்பாட்டு பாணி நிரலாக்கத்தை செயல்படுத்துகின்றன, இது குறியீட்டை மேலும் படிக்கக்கூடியதாகவும் பராமரிக்கக்கூடியதாகவும் ஆக்குகிறது. இந்த உதவிகள் பெரும்பாலும் ஒரு கால்பேக் செயல்பாட்டை வாதமாக எடுத்துக்கொள்கின்றன, இது இட்டரேட்டரில் உள்ள ஒவ்வொரு உறுப்புக்கும் பயன்படுத்தப்படுகிறது.
பொதுவான இட்டரேட்டர் உதவிகளில் சில:
map: இட்டரேட்டரின் ஒவ்வொரு உறுப்பையும் மாற்றுகிறது.filter: ஒரு நிபந்தனையின் அடிப்படையில் உறுப்புகளைத் தேர்ந்தெடுக்கிறது.reduce: உறுப்புகளை ஒரே மதிப்பாகக் குவிக்கிறது.forEach: ஒவ்வொரு உறுப்புக்கும் ஒரு செயல்பாட்டைச் செயல்படுத்துகிறது.some: குறைந்தபட்சம் ஒரு உறுப்பு நிபந்தனையை பூர்த்தி செய்கிறதா என்று சரிபார்க்கிறது.every: எல்லா உறுப்புகளும் நிபந்தனையை பூர்த்தி செய்கிறதா என்று சரிபார்க்கிறது.toArray: இட்டரேட்டரை ஒரு அரேவாக மாற்றுகிறது.
enumerate இட்டரேட்டர் உதவியை அறிமுகப்படுத்துதல்
enumerate இட்டரேட்டர் உதவியானது ஒரு இட்டரேட்டரில் உள்ள ஒவ்வொரு உறுப்பின் அட்டவணை மற்றும் மதிப்பு இரண்டையும் வழங்க வடிவமைக்கப்பட்டுள்ளது. ஒரு வரிசையில் ஒரு உறுப்பின் நிலையைப் பொறுத்து நீங்கள் செயல்பாடுகளைச் செய்ய வேண்டியிருக்கும் போது இது மிகவும் பயனுள்ளதாக இருக்கும்.
enumerate உதவியானது மதிப்புகளின் இட்டரேட்டரை [அட்டவணை, மதிப்பு] ஜோடிகளின் இட்டரேட்டராக மாற்றுகிறது.
தொடரியல் மற்றும் பயன்பாடு
enumerate ஐப் பயன்படுத்துவதற்கான தொடரியல் பின்வருமாறு:
const enumeratedIterator = iterator.enumerate();
இங்கே, iterator என்பது நீங்கள் கணக்கிட விரும்பும் இட்டரேட்டர், மற்றும் enumeratedIterator என்பது [அட்டவணை, மதிப்பு] ஜோடிகளை வழங்கும் ஒரு புதிய இட்டரேட்டர் ஆகும்.
உதாரணம்: ஒரு அரேவைக் கணக்கிடுதல்
ஒரு அரேவைக் கணக்கிடுவதற்கான ஒரு எளிய உதாரணத்தைக் கருத்தில் கொள்வோம்:
const myArray = ['apple', 'banana', 'cherry'];
const iterator = myArray[Symbol.iterator]();
const enumeratedIterator = iterator.enumerate();
for (const [index, value] of enumeratedIterator) {
console.log(`Index: ${index}, Value: ${value}`);
}
// வெளியீடு:
// Index: 0, Value: apple
// Index: 1, Value: banana
// Index: 2, Value: cherry
இந்த எடுத்துக்காட்டில், நாம் முதலில் myArray[Symbol.iterator]() ஐப் பயன்படுத்தி அரேயிலிருந்து ஒரு இட்டரேட்டரை உருவாக்குகிறோம். பின்னர், கணக்கிடப்பட்ட இட்டரேட்டரைப் பெற enumerate உதவியைப் பயன்படுத்துகிறோம். இறுதியாக, [அட்டவணை, மதிப்பு] ஜோடிகளின் மீது சுழற்சி செய்ய for...of லூப்பைப் பயன்படுத்தி அவற்றை கன்சோலில் அச்சிடுகிறோம்.
enumerate ஐப் பயன்படுத்துவதன் நன்மைகள்
enumerate இட்டரேட்டர் உதவியானது பல நன்மைகளை வழங்குகிறது:
- படிக்க எளிமை: இது அட்டவணை மற்றும் மதிப்பு இரண்டையும் வெளிப்படையாக வழங்குவதன் மூலம் குறியீட்டை மேலும் படிக்கக்கூடியதாகவும் வெளிப்படையானதாகவும் ஆக்குகிறது.
- சுருக்கம்: இது லூப்களில் கைமுறையாக அட்டவணையைக் கண்காணிக்கும் தேவையைக் குறைக்கிறது.
- செயல்திறன்: குறிப்பாக பெரிய தரவுத்தொகுப்புகள் அல்லது சிக்கலான இட்டரேட்டர்களுடன் பணிபுரியும் போது, இது கைமுறையாக அட்டவணைகளைக் கண்காணிப்பதை விட திறமையானதாக இருக்கும்.
- செயல்பாட்டு நிரலாக்கம்: இது தரவு மாற்றங்களுடன் ஒரு அறிவிப்பு முறையில் வேலை செய்ய உங்களை அனுமதிப்பதன் மூலம் ஒரு செயல்பாட்டு நிரலாக்க பாணியை ஊக்குவிக்கிறது.
enumerate க்கான பயன்பாட்டு வழக்குகள்
enumerate இட்டரேட்டர் உதவியானது பல்வேறு சூழ்நிலைகளில் பயனுள்ளதாக இருக்கும்:
1. நிலை சார்ந்த சூழலுடன் தரவைச் செயலாக்குதல்
ஒரு வரிசையில் ஒரு உறுப்பின் நிலையைப் பொறுத்து நீங்கள் செயல்பாடுகளைச் செய்ய வேண்டியிருக்கும் போது, enumerate குறியீட்டை எளிதாக்க முடியும். உதாரணமாக, நீங்கள் ஒரு அட்டவணையில் ஒவ்வொரு இரண்டாவது வரிசையையும் முன்னிலைப்படுத்த விரும்பலாம் அல்லது அட்டவணையின் அடிப்படையில் வேறுபட்ட மாற்றத்தைப் பயன்படுத்த விரும்பலாம்.
உதாரணம்: ஒரு அட்டவணையில் மாற்று வரிசைகளை முன்னிலைப்படுத்துதல்
const data = ['Row 1', 'Row 2', 'Row 3', 'Row 4', 'Row 5'];
const iterator = data[Symbol.iterator]();
const enumeratedIterator = iterator.enumerate();
let tableHTML = '';
for (const [index, row] of enumeratedIterator) {
const className = index % 2 === 0 ? 'even' : 'odd';
tableHTML += `${row} `;
}
tableHTML += '
';
// இப்போது நீங்கள் tableHTML ஐ உங்கள் HTML ஆவணத்தில் செருகலாம்
இந்த எடுத்துக்காட்டில், ஒரு வரிசைக்கு 'even' அல்லது 'odd' வகுப்பு இருக்க வேண்டுமா என்பதைத் தீர்மானிக்க enumerate வழங்கிய அட்டவணையைப் பயன்படுத்துகிறோம்.
2. தனிப்பயன் இட்டரேஷன் தர்க்கத்தை செயல்படுத்துதல்
நீங்கள் உறுப்புகளைத் தவிர்ப்பது அல்லது அட்டவணையின் அடிப்படையில் மாற்றங்களைப் பயன்படுத்துவது போன்ற தனிப்பயன் இட்டரேஷன் தர்க்கத்தை செயல்படுத்த enumerate ஐப் பயன்படுத்தலாம்.
உதாரணம்: ஒவ்வொரு மூன்றாவது உறுப்பையும் தவிர்த்தல்
const data = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'];
const iterator = data[Symbol.iterator]();
const enumeratedIterator = iterator.enumerate();
const result = [];
for (const [index, value] of enumeratedIterator) {
if (index % 3 !== 2) {
result.push(value);
}
}
console.log(result); // வெளியீடு: ['A', 'B', 'D', 'E', 'G', 'H']
இந்த எடுத்துக்காட்டில், அட்டவணை 3 இன் பெருக்கமா என்பதைச் சரிபார்ப்பதன் மூலம் வரிசையில் ஒவ்வொரு மூன்றாவது உறுப்பையும் தவிர்க்கிறோம்.
3. ஒத்திசைவற்ற தரவு ஸ்ட்ரீம்களுடன் பணிபுரிதல்
enumerate ஒத்திசைவற்ற தரவு ஸ்ட்ரீம்களுடனும் பயன்படுத்தப்படலாம், அதாவது APIகள் அல்லது வலை சாக்கெட்டுகளிலிருந்து பெறப்பட்டவை. இந்த நிலையில், நீங்கள் பொதுவாக ஒரு ஒத்திசைவற்ற இட்டரேட்டரைப் பயன்படுத்துவீர்கள்.
உதாரணம்: ஒரு ஒத்திசைவற்ற தரவு ஸ்ட்ரீமைக் கணக்கிடுதல்
async function* generateData() {
yield 'Data 1';
await new Promise(resolve => setTimeout(resolve, 500));
yield 'Data 2';
await new Promise(resolve => setTimeout(resolve, 500));
yield 'Data 3';
}
async function processData() {
const asyncIterator = generateData();
// enumerate ஒத்திசைவற்ற இட்டரேட்டர்களுடன் வேலை செய்யும் என்று ধরেக்கொண்டால், பயன்பாடு ஒத்ததாகவே இருக்கும்
// இருப்பினும், உங்களுக்கு ஒத்திசைவற்ற enumerate ஐ ஆதரிக்கும் ஒரு பாலிஃபில் அல்லது உதவி நூலகம் தேவைப்படலாம்
// இந்த உதாரணம் enumerate இயல்பாக ஒத்திசைவற்ற இட்டரேட்டர்களை ஆதரித்தால் உத்தேசிக்கப்பட்ட பயன்பாட்டைக் காட்டுகிறது
const enumeratedIterator = asyncIterator.enumerate();
for await (const [index, value] of enumeratedIterator) {
console.log(`Index: ${index}, Value: ${value}`);
}
}
processData();
// எதிர்பார்க்கப்படும் வெளியீடு (பொருத்தமான ஒத்திசைவற்ற enumerate செயலாக்கத்துடன்):
// Index: 0, Value: Data 1
// Index: 1, Value: Data 2
// Index: 2, Value: Data 3
குறிப்பு: தற்போது, இயல்புநிலை enumerate உதவியானது ஒத்திசைவற்ற இட்டரேட்டர்களை நேரடியாக ஆதரிக்காது. நீங்கள் ஒரு பாலிஃபில் அல்லது enumerate இன் ஒத்திசைவற்ற பதிப்பை வழங்கும் ஒரு உதவி நூலகத்தைப் பயன்படுத்த வேண்டியிருக்கலாம்.
4. மற்ற இட்டரேட்டர் உதவிகளுடன் ஒருங்கிணைத்தல்
enumerate மற்ற இட்டரேட்டர் உதவிகளுடன் இணைக்கப்பட்டு மிகவும் சிக்கலான தரவு மாற்றங்களைச் செய்ய முடியும். உதாரணமாக, ஒவ்வொரு உறுப்புக்கும் ஒரு அட்டவணையைச் சேர்க்க enumerate ஐப் பயன்படுத்தலாம், பின்னர் அவற்றின் அட்டவணை மற்றும் மதிப்பின் அடிப்படையில் உறுப்புகளை மாற்ற map ஐப் பயன்படுத்தலாம்.
உதாரணம்: enumerate மற்றும் map ஐ இணைத்தல்
const data = ['a', 'b', 'c', 'd'];
const iterator = data[Symbol.iterator]();
const enumeratedIterator = iterator.enumerate();
const transformedData = Array.from(enumeratedIterator.map(([index, value]) => {
return `[${index}]: ${value.toUpperCase()}`;
}));
console.log(transformedData); // வெளியீடு: ['[0]: A', '[1]: B', '[2]: C', '[3]: D']
இந்த எடுத்துக்காட்டில், ஒவ்வொரு உறுப்பின் அட்டவணையைப் பெற முதலில் தரவை கணக்கிடுகிறோம். பின்னர், ஒவ்வொரு உறுப்பையும் அட்டவணை மற்றும் மதிப்பின் பெரிய எழுத்து பதிப்பை உள்ளடக்கிய ஒரு சரமாக மாற்ற map ஐப் பயன்படுத்துகிறோம். இறுதியாக, இதன் விளைவாக வரும் இட்டரேட்டரை Array.from ஐப் பயன்படுத்தி ஒரு அரேவாக மாற்றுகிறோம்.
பல்வேறு தொழில்களில் நடைமுறை உதாரணங்கள் மற்றும் பயன்பாட்டு வழக்குகள்
enumerate இட்டரேட்டர் உதவியானது பல்வேறு தொழில்கள் மற்றும் பயன்பாட்டு வழக்குகளில் பயன்படுத்தப்படலாம்:
1. மின்வணிகம்
- தயாரிப்பு பட்டியல்: எளிதான குறிப்புக்காக எண்ணிடப்பட்ட அட்டவணைகளுடன் தயாரிப்பு பட்டியல்களைக் காண்பித்தல்.
- ஆர்டர் செயலாக்கம்: கப்பல் மற்றும் விநியோகத்திற்காக ஒரு ஆர்டரில் உள்ள பொருட்களின் வரிசையைக் கண்காணித்தல்.
- பரிந்துரை அமைப்புகள்: ஒரு பயனரின் உலாவல் வரலாற்றில் பொருளின் நிலையின் அடிப்படையில் வெவ்வேறு பரிந்துரை வழிமுறைகளைப் பயன்படுத்துதல்.
2. நிதி
- நேரத் தொடர் பகுப்பாய்வு: நேரத்தைப் பொறுத்து நிதித் தரவை பகுப்பாய்வு செய்தல், இங்கு அட்டவணை நேரக் காலத்தைக் குறிக்கிறது.
- பரிவர்த்தனை செயலாக்கம்: தணிக்கை மற்றும் இணக்கத்திற்காக பரிவர்த்தனைகளின் வரிசையைக் கண்காணித்தல்.
- ஆபத்து மேலாண்மை: ஒரு வரிசையில் ஒரு பரிவர்த்தனையின் நிலையின் அடிப்படையில் வெவ்வேறு இடர் மதிப்பீட்டு மாதிரிகளைப் பயன்படுத்துதல்.
3. சுகாதாரம்
- நோயாளி கண்காணிப்பு: நேரத்தைப் பொறுத்து நோயாளி தரவை பகுப்பாய்வு செய்தல், இங்கு அட்டவணை அளவீட்டு நேரத்தைக் குறிக்கிறது.
- மருத்துவப் படமெடுத்தல்: ஒரு வரிசையில் மருத்துவப் படங்களைச் செயலாக்குதல், இங்கு அட்டவணை ஸ்லைஸ் எண்ணைக் குறிக்கிறது.
- மருந்து மேம்பாடு: ஒழுங்குமுறை இணக்கத்திற்காக ஒரு மருந்து மேம்பாட்டுச் செயல்பாட்டில் உள்ள படிகளின் வரிசையைக் கண்காணித்தல்.
4. கல்வி
- தரப்படுத்தல் அமைப்புகள்: தனிப்பட்ட மதிப்பீடுகளின் வரிசை மற்றும் மதிப்பின் அடிப்படையில் தரங்களைக் கணக்கிடுதல்.
- பாடத்திட்ட வடிவமைப்பு: கற்றல் விளைவுகளை மேம்படுத்த கல்வி உள்ளடக்கம் மற்றும் செயல்பாடுகளை வரிசைப்படுத்துதல்.
- மாணவர் செயல்திறன் பகுப்பாய்வு: மதிப்பீடுகளின் வரிசையைப் பொறுத்து மாணவர் செயல்திறன் தரவை பகுப்பாய்வு செய்தல்.
5. உற்பத்தி
- உற்பத்தி வரி கண்காணிப்பு: ஒரு உற்பத்திச் செயல்பாட்டில் உள்ள படிகளின் வரிசையைக் கண்காணித்தல்.
- தரக் கட்டுப்பாடு: உற்பத்தி வரியில் பொருளின் நிலையின் அடிப்படையில் வெவ்வேறு தரக் கட்டுப்பாட்டுச் சோதனைகளைப் பயன்படுத்துதல்.
- சரக்கு மேலாண்மை: பெறப்பட்ட மற்றும் அனுப்பப்பட்ட பொருட்களின் வரிசையின் அடிப்படையில் சரக்கு நிலைகளை நிர்வகித்தல்.
பாலிஃபில்கள் மற்றும் உலாவி இணக்கத்தன்மை
எந்தவொரு புதிய ஜாவாஸ்கிரிப்ட் அம்சத்தைப் போலவே, உலாவி இணக்கத்தன்மையும் ஒரு முக்கியமான கருத்தாகும். இட்டரேட்டர் உதவிகள் நவீன உலாவிகளில் பெருகிய முறையில் ஆதரிக்கப்பட்டாலும், பழைய உலாவிகள் அல்லது சூழல்களுடன் இணக்கத்தன்மையை உறுதிப்படுத்த நீங்கள் பாலிஃபில்களைப் பயன்படுத்த வேண்டியிருக்கலாம்.
ஒரு பாலிஃபில் என்பது ஒரு குறியீட்டின் துண்டு ஆகும், இது ஒரு புதிய அம்சத்தின் செயல்பாட்டை இயல்பாக ஆதரிக்காத பழைய சூழல்களில் வழங்குகிறது.
நீங்கள் npm அல்லது பிற தொகுப்பு களஞ்சியங்களில் இட்டரேட்டர் உதவிகளுக்கான பாலிஃபில்களைக் காணலாம். ஒரு பாலிஃபிலைப் பயன்படுத்தும் போது, அதை உங்கள் திட்டத்தில் சேர்த்து, enumerate இட்டரேட்டர் உதவியைப் பயன்படுத்துவதற்கு முன்பு அதை ஏற்றவும்.
சிறந்த நடைமுறைகள் மற்றும் பரிசீலனைகள்
enumerate இட்டரேட்டர் உதவியைப் பயன்படுத்தும் போது, பின்வரும் சிறந்த நடைமுறைகளைக் கவனியுங்கள்:
- விளக்கமான மாறிப் பெயர்களைப் பயன்படுத்தவும்: குறியீட்டின் வாசிப்புத்தன்மையை மேம்படுத்த அட்டவணை மற்றும் மதிப்பிற்கான தெளிவான மற்றும் விளக்கமான மாறிப் பெயர்களைப் பயன்படுத்தவும். உதாரணமாக,
[i, v]க்கு பதிலாக[itemIndex, itemValue]ஐப் பயன்படுத்தவும். - அசல் தரவை மாற்றுவதைத் தவிர்க்கவும்: முடிந்தவரை, கால்பேக் செயல்பாட்டிற்குள் அசல் தரவை மாற்றுவதைத் தவிர்க்கவும். இது எதிர்பாராத பக்க விளைவுகளுக்கு வழிவகுக்கும் மற்றும் குறியீட்டை பிழைத்திருத்த கடினமாக்கும்.
- செயல்திறனைக் கருத்தில் கொள்ளுங்கள்: குறிப்பாக பெரிய தரவுத்தொகுப்புகளுடன் பணிபுரியும் போது, செயல்திறனைக் கவனத்தில் கொள்ளுங்கள்.
enumerateதிறமையானதாக இருந்தாலும், கால்பேக் செயல்பாட்டிற்குள் உள்ள சிக்கலான செயல்பாடுகள் செயல்திறனை பாதிக்கலாம். - வகை பாதுகாப்பிற்காக டைப்ஸ்கிரிப்டைப் பயன்படுத்தவும்: நீங்கள் டைப்ஸ்கிரிப்டைப் பயன்படுத்துகிறீர்கள் என்றால், வகை பாதுகாப்பை மேம்படுத்தவும் சாத்தியமான பிழைகளை முன்கூட்டியே கண்டறியவும் அட்டவணை மற்றும் மதிப்பு மாறிகளுக்கு வகை சிறுகுறிப்புகளைச் சேர்ப்பதைக் கருத்தில் கொள்ளுங்கள்.
enumerate க்கான மாற்று வழிகள்
enumerate ஒரு இட்டரேட்டரின் அட்டவணை மற்றும் மதிப்பு இரண்டையும் அணுக ஒரு வசதியான வழியை வழங்கினாலும், நீங்கள் பயன்படுத்தக்கூடிய மாற்று அணுகுமுறைகள் உள்ளன:
1. பாரம்பரிய for லூப்
பாரம்பரிய for லூப் அட்டவணை மற்றும் மதிப்பின் மீது வெளிப்படையான கட்டுப்பாட்டை வழங்குகிறது:
const data = ['a', 'b', 'c'];
for (let i = 0; i < data.length; i++) {
console.log(`Index: ${i}, Value: ${data[i]}`);
}
இந்த அணுகுமுறை நேரடியானது என்றாலும், இது enumerate ஐப் பயன்படுத்துவதை விட விரிவானதாகவும் படிக்கக் கடினமாகவும் இருக்கும்.
2. forEach முறை
forEach முறையானது மதிப்பு மற்றும் அட்டவணை இரண்டிற்கும் அணுகலை வழங்குகிறது:
const data = ['a', 'b', 'c'];
data.forEach((value, index) => {
console.log(`Index: ${index}, Value: ${value}`);
});
இருப்பினும், forEach பக்க விளைவுகளுக்காக வடிவமைக்கப்பட்டுள்ளது மற்றும் ஒரு புதிய இட்டரேட்டரை உருவாக்க அல்லது தரவை மாற்ற பயன்படுத்த முடியாது.
3. தனிப்பயன் இட்டரேட்டர்
நீங்கள் [அட்டவணை, மதிப்பு] ஜோடிகளை வழங்கும் ஒரு தனிப்பயன் இட்டரேட்டரை உருவாக்கலாம்:
function* enumerate(iterable) {
let index = 0;
for (const value of iterable) {
yield [index, value];
index++;
}
}
const data = ['a', 'b', 'c'];
for (const [index, value] of enumerate(data)) {
console.log(`Index: ${index}, Value: ${value}`);
}
இந்த அணுகுமுறை இட்டரேஷன் செயல்முறையின் மீது அதிக கட்டுப்பாட்டை வழங்குகிறது, ஆனால் enumerate இட்டரேட்டர் உதவியைப் பயன்படுத்துவதை விட அதிக குறியீடு தேவைப்படுகிறது (அது இயல்பாகவோ அல்லது பாலிஃபில் மூலமாகவோ கிடைத்தால்).
முடிவுரை
enumerate இட்டரேட்டர் உதவியானது, கிடைக்கும் போது, ஜாவாஸ்கிரிப்டின் தரவு செயலாக்க திறன்களில் ஒரு குறிப்பிடத்தக்க முன்னேற்றத்தைக் குறிக்கிறது. ஒரு இட்டரேட்டரில் உள்ள ஒவ்வொரு உறுப்பின் அட்டவணை மற்றும் மதிப்பு இரண்டையும் வழங்குவதன் மூலம், இது குறியீட்டை எளிதாக்குகிறது, வாசிப்புத்தன்மையை மேம்படுத்துகிறது, மேலும் ஒரு செயல்பாட்டு நிரலாக்க பாணியை ஊக்குவிக்கிறது. நீங்கள் அரேக்கள், சரங்கள், அல்லது தனிப்பயன் இட்டரேட்டர்களுடன் பணிபுரிந்தாலும், enumerate உங்கள் ஜாவாஸ்கிரிப்ட் மேம்பாட்டு ஆயுதக் களஞ்சியத்தில் ஒரு மதிப்புமிக்க கருவியாக இருக்கலாம்.
ஜாவாஸ்கிரிப்ட் தொடர்ந்து विकसितம் அடையும்போது, enumerate போன்ற இட்டரேட்டர் உதவிகள் திறமையான மற்றும் வெளிப்படையான தரவு கையாளுதலுக்கு பெருகிய முறையில் முக்கியமானதாக மாறும். இந்த புதிய அம்சங்களைத் தழுவி, அவை உங்கள் குறியீடு மற்றும் உற்பத்தித்திறனை எவ்வாறு மேம்படுத்தும் என்பதை ஆராயுங்கள். உலாவி செயலாக்கங்களைக் கவனியுங்கள் அல்லது உங்கள் திட்டங்களில் இன்றே enumerate இன் சக்தியைப் பயன்படுத்தத் தொடங்க பொருத்தமான பாலிஃபில்களைப் பயன்படுத்தவும். மிகவும் புதுப்பித்த தகவல்களுக்கு அதிகாரப்பூர்வ ECMAScript விவரக்குறிப்பு மற்றும் உலாவி இணக்கத்தன்மை அட்டவணைகளைச் சரிபார்க்க நினைவில் கொள்ளுங்கள்.