ஜாவாஸ்கிரிப்டில் ஃபார் லூப்கள், ஃபார்ஈச், மற்றும் மேப் முறைகளின் விரிவான செயல்திறன் ஒப்பீடு, டெவலப்பர்களுக்கான நடைமுறை எடுத்துக்காட்டுகள் மற்றும் சிறந்த பயன்பாட்டு நிகழ்வுகளுடன்.
செயல்திறன் ஒப்பீடு: ஜாவாஸ்கிரிப்டில் ஃபார் லூப் vs. ஃபார்ஈச் vs. மேப்
ஜாவாஸ்கிரிப்ட் வரிசைகளில் (arrays) இடரேட் செய்வதற்கு பல வழிகளை வழங்குகிறது, ஒவ்வொன்றும் அதன் சொந்த தொடரியல், செயல்பாடு, மற்றும் மிக முக்கியமாக, செயல்திறன் பண்புகளைக் கொண்டுள்ளது. for
லூப்கள், forEach
, மற்றும் map
ஆகியவற்றுக்கு இடையேயான வேறுபாடுகளைப் புரிந்துகொள்வது, திறமையான மற்றும் மேம்படுத்தப்பட்ட ஜாவாஸ்கிரிப்ட் குறியீட்டை எழுதுவதற்கு முக்கியமானது, குறிப்பாக பெரிய தரவுத்தொகுப்புகள் அல்லது செயல்திறன்-முக்கியமான பயன்பாடுகளைக் கையாளும் போது. இந்த கட்டுரை ஒரு விரிவான செயல்திறன் ஒப்பீட்டை வழங்குகிறது, ஒவ்வொரு முறையின் நுணுக்கங்களையும் ஆராய்ந்து, எப்போது எதைப் பயன்படுத்த வேண்டும் என்பதற்கான வழிகாட்டுதலை வழங்குகிறது.
அறிமுகம்: ஜாவாஸ்கிரிப்டில் இடரேட் செய்தல்
வரிசைகளில் இடரேட் செய்வது நிரலாக்கத்தில் ஒரு அடிப்படைப் பணியாகும். ஜாவாஸ்கிரிப்ட் இதை அடைய பல்வேறு முறைகளை வழங்குகிறது, ஒவ்வொன்றும் குறிப்பிட்ட நோக்கங்களுக்காக வடிவமைக்கப்பட்டுள்ளன. நாம் மூன்று பொதுவான முறைகளில் கவனம் செலுத்துவோம்:
for
லூப்: பாரம்பரியமான மற்றும் விவாதத்திற்குரிய வகையில் இடரேட் செய்வதற்கான மிக அடிப்படையான வழி.forEach
: ஒரு வரிசையில் உள்ள உறுப்புகள் மீது இடரேட் செய்வதற்கும், ஒவ்வொரு உறுப்பிற்கும் வழங்கப்பட்ட ஒரு செயல்பாட்டைச் செயல்படுத்துவதற்கும் வடிவமைக்கப்பட்ட ஒரு உயர்-வரிசை செயல்பாடு.map
: அழைக்கும் வரிசையில் உள்ள ஒவ்வொரு உறுப்பிலும் வழங்கப்பட்ட ஒரு செயல்பாட்டை அழைப்பதன் முடிவுகளுடன் ஒரு புதிய வரிசையை உருவாக்கும் மற்றொரு உயர்-வரிசை செயல்பாடு.
சரியான இடரேஷன் முறையைத் தேர்ந்தெடுப்பது உங்கள் குறியீட்டின் செயல்திறனை கணிசமாக பாதிக்கலாம். ஒவ்வொரு முறையையும் ஆழமாக ஆராய்ந்து அவற்றின் செயல்திறன் பண்புகளைப் பகுப்பாய்வு செய்வோம்.
for
லூப்: பாரம்பரிய அணுகுமுறை
for
லூப் என்பது ஜாவாஸ்கிரிப்ட் மற்றும் பல நிரலாக்க மொழிகளில் மிகவும் அடிப்படையான மற்றும் பரவலாகப் புரிந்து கொள்ளப்பட்ட இடரேஷன் கட்டமைப்பாகும். இது இடரேஷன் செயல்முறையின் மீது வெளிப்படையான கட்டுப்பாட்டை வழங்குகிறது.
தொடரியல் மற்றும் பயன்பாடு
ஒரு for
லூப்பின் தொடரியல் நேரடியானது:
for (let i = 0; i < array.length; i++) {
// ஒவ்வொரு உறுப்பிற்கும் செயல்படுத்தப்பட வேண்டிய குறியீடு
console.log(array[i]);
}
இங்கே அதன் கூறுகளின் முறிவு:
- துவக்கம் (
let i = 0
): ஒரு கவுண்டர் மாறியை (i
) 0 ஆக துவக்குகிறது. இது லூப்பின் தொடக்கத்தில் ஒரு முறை மட்டுமே செயல்படுத்தப்படுகிறது. - நிபந்தனை (
i < array.length
): லூப் தொடர்வதற்கு உண்மையாக இருக்க வேண்டிய நிபந்தனையைக் குறிப்பிடுகிறது.i
ஆனது வரிசையின் நீளத்தை விட குறைவாக இருக்கும் வரை லூப் தொடர்கிறது. - அதிகரிப்பு (
i++
): ஒவ்வொரு இடரேஷனுக்குப் பிறகும் கவுண்டர் மாறியை (i
) அதிகரிக்கிறது.
செயல்திறன் பண்புகள்
for
லூப் பொதுவாக ஜாவாஸ்கிரிப்டில் வேகமான இடரேஷன் முறையாகக் கருதப்படுகிறது. இது மிகக் குறைந்த மேல்நிலைச் செலவை (overhead) வழங்குகிறது, ஏனெனில் இது நேரடியாக கவுண்டரைக் கையாளுகிறது மற்றும் வரிசை உறுப்புகளை அவற்றின் குறியீட்டைப் பயன்படுத்தி அணுகுகிறது.
முக்கிய நன்மைகள்:
- வேகம்: குறைந்த மேல்நிலைச் செலவு காரணமாக பொதுவாக வேகமானது.
- கட்டுப்பாடு: இடரேஷன் செயல்முறையின் மீது முழுமையான கட்டுப்பாட்டை வழங்குகிறது, இதில் உறுப்புகளைத் தவிர்ப்பது அல்லது லூப்பிலிருந்து வெளியேறுவது ஆகியவை அடங்கும்.
- உலாவி இணக்கத்தன்மை: பழைய உலாவிகள் உட்பட அனைத்து ஜாவாஸ்கிரிப்ட் சூழல்களிலும் வேலை செய்கிறது.
எடுத்துக்காட்டு: உலகெங்கிலும் இருந்து ஆர்டர்களைச் செயல்படுத்துதல்
வெவ்வேறு நாடுகளில் இருந்து வரும் ஆர்டர்களின் பட்டியலை நீங்கள் செயல்படுத்துகிறீர்கள் என்று கற்பனை செய்து பாருங்கள். வரி நோக்கங்களுக்காக சில நாடுகளில் இருந்து வரும் ஆர்டர்களை நீங்கள் வித்தியாசமாகக் கையாள வேண்டியிருக்கலாம்.
const orders = [
{ id: 1, country: 'USA', amount: 100 },
{ id: 2, country: 'Canada', amount: 50 },
{ id: 3, country: 'UK', amount: 75 },
{ id: 4, country: 'Germany', amount: 120 },
{ id: 5, country: 'USA', amount: 80 }
];
function processOrders(orders) {
for (let i = 0; i < orders.length; i++) {
const order = orders[i];
if (order.country === 'USA') {
console.log(`அமெரிக்க ஆர்டர் ${order.id} ஐ ${order.amount} தொகையுடன் செயல்படுத்துகிறது`);
// அமெரிக்காவிற்கான குறிப்பிட்ட வரி தர்க்கத்தைப் பயன்படுத்தவும்
} else {
console.log(`ஆர்டர் ${order.id} ஐ ${order.amount} தொகையுடன் செயல்படுத்துகிறது`);
}
}
}
processOrders(orders);
forEach
: இடரேஷனுக்கான ஒரு செயல்பாட்டு அணுகுமுறை
forEach
என்பது வரிசைகளில் கிடைக்கும் ஒரு உயர்-வரிசை செயல்பாடாகும், இது இடரேட் செய்வதற்கு மிகவும் சுருக்கமான மற்றும் செயல்பாட்டு வழியை வழங்குகிறது. இது ஒவ்வொரு வரிசை உறுப்பிற்கும் ஒரு முறை வழங்கப்பட்ட செயல்பாட்டைச் செயல்படுத்துகிறது.
தொடரியல் மற்றும் பயன்பாடு
forEach
இன் தொடரியல் பின்வருமாறு:
array.forEach(function(element, index, array) {
// ஒவ்வொரு உறுப்பிற்கும் செயல்படுத்தப்பட வேண்டிய குறியீடு
console.log(element, index, array);
});
கால்பேக் செயல்பாடு மூன்று வாதங்களைப் பெறுகிறது:
element
: வரிசையில் செயலாக்கப்படும் தற்போதைய உறுப்பு.index
(விருப்பத்தேர்வு): வரிசையில் தற்போதைய உறுப்பின் குறியீடு.array
(விருப்பத்தேர்வு):forEach
அழைக்கப்பட்ட வரிசை.
செயல்திறன் பண்புகள்
forEach
பொதுவாக ஒரு for
லூப்பை விட மெதுவாக இருக்கும். இதற்குக் காரணம், forEach
ஒவ்வொரு உறுப்பிற்கும் ஒரு செயல்பாட்டை அழைப்பதற்கான மேல்நிலைச் செலவைக் கொண்டுள்ளது, இது செயல்படுத்தும் நேரத்தை அதிகரிக்கிறது. இருப்பினும், சிறிய வரிசைகளுக்கு இந்த வேறுபாடு மிகக் குறைவாக இருக்கலாம்.
முக்கிய நன்மைகள்:
- வாசிப்புத்திறன்:
for
லூப்களுடன் ஒப்பிடும்போது மிகவும் சுருக்கமான மற்றும் வாசிக்கக்கூடிய தொடரியலை வழங்குகிறது. - செயல்பாட்டு நிரலாக்கம்: செயல்பாட்டு நிரலாக்க முன்னுதாரணங்களுடன் நன்றாகப் பொருந்துகிறது.
முக்கிய தீமைகள்:
- மெதுவான செயல்திறன்: பொதுவாக
for
லூப்களை விட மெதுவாக இருக்கும். - Break அல்லது Continue செய்ய முடியாது: லூப்பின் செயல்பாட்டைக் கட்டுப்படுத்த நீங்கள்
break
அல்லதுcontinue
அறிக்கைகளைப் பயன்படுத்த முடியாது. இடரேஷனை நிறுத்த, நீங்கள் ஒரு விதிவிலக்கை வீச வேண்டும் அல்லது செயல்பாட்டிலிருந்து திரும்ப வேண்டும் (இது தற்போதைய இடரேஷனை மட்டுமே தவிர்க்கும்).
எடுத்துக்காட்டு: வெவ்வேறு பிராந்தியங்களிலிருந்து தேதிகளை வடிவமைத்தல்
உங்களிடம் ஒரு நிலையான வடிவத்தில் தேதிகளின் வரிசை இருப்பதாகவும், அவற்றை வெவ்வேறு பிராந்திய விருப்பங்களுக்கு ஏற்ப வடிவமைக்க வேண்டும் என்றும் கற்பனை செய்து பாருங்கள்.
const dates = [
'2024-01-15',
'2023-12-24',
'2024-02-01'
];
function formatDate(dateString, locale) {
const date = new Date(dateString);
return date.toLocaleDateString(locale);
}
function formatDates(dates, locale) {
dates.forEach(dateString => {
const formattedDate = formatDate(dateString, locale);
console.log(`வடிவமைக்கப்பட்ட தேதி (${locale}): ${formattedDate}`);
});
}
formatDates(dates, 'en-US'); // அமெரிக்க வடிவம்
formatDates(dates, 'en-GB'); // இங்கிலாந்து வடிவம்
formatDates(dates, 'de-DE'); // ஜெர்மன் வடிவம்
map
: வரிசைகளை மாற்றுதல்
map
என்பது வரிசைகளை மாற்றுவதற்காக வடிவமைக்கப்பட்ட மற்றொரு உயர்-வரிசை செயல்பாடாகும். இது அசல் வரிசையின் ஒவ்வொரு உறுப்பிற்கும் வழங்கப்பட்ட ஒரு செயல்பாட்டைப் பயன்படுத்துவதன் மூலம் ஒரு புதிய வரிசையை உருவாக்குகிறது.
தொடரியல் மற்றும் பயன்பாடு
map
இன் தொடரியல் forEach
ஐப் போன்றது:
const newArray = array.map(function(element, index, array) {
// ஒவ்வொரு உறுப்பையும் மாற்றுவதற்கான குறியீடு
return transformedElement;
});
கால்பேக் செயல்பாடு forEach
(element
, index
, மற்றும் array
) போன்ற அதே மூன்று வாதங்களைப் பெறுகிறது, ஆனால் அது ஒரு மதிப்பை திருப்பித் தர வேண்டும், இது புதிய வரிசையில் தொடர்புடைய உறுப்பாக இருக்கும்.
செயல்திறன் பண்புகள்
forEach
ஐப் போலவே, map
பொதுவாக ஒரு for
லூப்பை விட மெதுவாக இருக்கும், இது செயல்பாட்டு அழைப்பு மேல்நிலைச் செலவு காரணமாகும். கூடுதலாக, map
ஒரு புதிய வரிசையை உருவாக்குகிறது, இது அதிக நினைவகத்தை நுகரக்கூடும். இருப்பினும், ஒரு வரிசையை மாற்ற வேண்டிய செயல்பாடுகளுக்கு, ஒரு for
லூப் மூலம் கைமுறையாக ஒரு புதிய வரிசையை உருவாக்குவதை விட map
மிகவும் திறமையானதாக இருக்கும்.
முக்கிய நன்மைகள்:
- மாற்றம்: மாற்றப்பட்ட உறுப்புகளுடன் ஒரு புதிய வரிசையை உருவாக்குகிறது, இது தரவு கையாளுதலுக்கு ஏற்றதாக அமைகிறது.
- மாற்றமுடியாத தன்மை (Immutability): அசல் வரிசையை மாற்றியமைக்காது, மாற்றமுடியாத தன்மையை ஊக்குவிக்கிறது.
- சங்கிலித் தொடராக்கம் (Chaining): சிக்கலான தரவு செயலாக்கத்திற்காக மற்ற வரிசை முறைகளுடன் எளிதாக சங்கிலித் தொடராக்கப்படலாம்.
முக்கிய தீமைகள்:
- மெதுவான செயல்திறன்: பொதுவாக
for
லூப்களை விட மெதுவாக இருக்கும். - நினைவக நுகர்வு: ஒரு புதிய வரிசையை உருவாக்குகிறது, இது நினைவகப் பயன்பாட்டை அதிகரிக்கக்கூடும்.
எடுத்துக்காட்டு: வெவ்வேறு நாடுகளின் நாணயங்களை USD ஆக மாற்றுதல்
உங்களிடம் வெவ்வேறு நாணயங்களில் பரிவர்த்தனைகளின் வரிசை இருப்பதாகவும், அறிக்கையிடல் நோக்கங்களுக்காக அவற்றை எல்லாம் USD ஆக மாற்ற வேண்டும் என்றும் வைத்துக்கொள்வோம்.
const transactions = [
{ id: 1, currency: 'EUR', amount: 100 },
{ id: 2, currency: 'GBP', amount: 50 },
{ id: 3, currency: 'JPY', amount: 7500 },
{ id: 4, currency: 'CAD', amount: 120 }
];
const exchangeRates = {
'EUR': 1.10, // எடுத்துக்காட்டு மாற்று விகிதம்
'GBP': 1.25,
'JPY': 0.007,
'CAD': 0.75
};
function convertToUSD(transaction) {
const rate = exchangeRates[transaction.currency];
if (rate) {
return transaction.amount * rate;
} else {
return null; // மாற்று தோல்வியைக் குறிக்கிறது
}
}
const usdAmounts = transactions.map(transaction => convertToUSD(transaction));
console.log(usdAmounts);
செயல்திறன் பெஞ்ச்மார்க்கிங்
இந்த முறைகளின் செயல்திறனை புறநிலையாக ஒப்பிட, ஜாவாஸ்கிரிப்டில் console.time()
மற்றும் console.timeEnd()
போன்ற பெஞ்ச்மார்க்கிங் கருவிகளை அல்லது பிரத்யேக பெஞ்ச்மார்க்கிங் நூலகங்களைப் பயன்படுத்தலாம். இங்கே ஒரு அடிப்படை எடுத்துக்காட்டு:
const arraySize = 100000;
const largeArray = Array.from({ length: arraySize }, (_, i) => i + 1);
// For loop
console.time('For loop');
for (let i = 0; i < largeArray.length; i++) {
// ஏதாவது செய்
largeArray[i] * 2;
}
console.timeEnd('For loop');
// forEach
console.time('forEach');
largeArray.forEach(element => {
// ஏதாவது செய்
element * 2;
});
console.timeEnd('forEach');
// Map
console.time('Map');
largeArray.map(element => {
// ஏதாவது செய்
return element * 2;
});
console.timeEnd('Map');
எதிர்பார்க்கப்படும் முடிவுகள்:
பெரும்பாலான சந்தர்ப்பங்களில், பின்வரும் செயல்திறன் வரிசையை (வேகமானதில் இருந்து மெதுவானது வரை) நீங்கள் கவனிப்பீர்கள்:
for
லூப்forEach
map
முக்கியமான பரிசீலனைகள்:
- வரிசை அளவு: பெரிய வரிசைகளில் செயல்திறன் வேறுபாடு மிகவும் குறிப்பிடத்தக்கதாகிறது.
- செயல்பாடுகளின் சிக்கலான தன்மை: லூப் அல்லது செயல்பாட்டிற்குள் செய்யப்படும் செயல்பாட்டின் சிக்கலான தன்மையும் முடிவுகளைப் பாதிக்கலாம். எளிய செயல்பாடுகள் இடரேஷன் முறையின் மேல்நிலைச் செலவை முன்னிலைப்படுத்தும், அதே நேரத்தில் சிக்கலான செயல்பாடுகள் வேறுபாடுகளை மறைக்கக்கூடும்.
- ஜாவாஸ்கிரிப்ட் எஞ்சின்: வெவ்வேறு ஜாவாஸ்கிரிப்ட் எஞ்சின்கள் (எ.கா., Chrome இல் V8, Firefox இல் SpiderMonkey) சற்றே மாறுபட்ட மேம்படுத்தல் உத்திகளைக் கொண்டிருக்கலாம், இது முடிவுகளை பாதிக்கலாம்.
சிறந்த நடைமுறைகள் மற்றும் பயன்பாட்டு வழக்குகள்
சரியான இடரேஷன் முறையைத் தேர்ந்தெடுப்பது உங்கள் பணியின் குறிப்பிட்ட தேவைகளைப் பொறுத்தது. இங்கே சிறந்த நடைமுறைகளின் சுருக்கம்:
- செயல்திறன்-முக்கியமான செயல்பாடுகள்: செயல்திறன்-முக்கியமான செயல்பாடுகளுக்கு
for
லூப்களைப் பயன்படுத்தவும், குறிப்பாக பெரிய தரவுத்தொகுப்புகளைக் கையாளும் போது. - எளிய இடரேஷன்: செயல்திறன் ஒரு முதன்மைக் கவலையாக இல்லாதபோதும், வாசிப்புத்திறன் முக்கியமாக இருக்கும்போதும் எளிய இடரேஷனுக்கு
forEach
ஐப் பயன்படுத்தவும். - வரிசை மாற்றம்: நீங்கள் ஒரு வரிசையை மாற்றி, மாற்றப்பட்ட மதிப்புகளுடன் ஒரு புதிய வரிசையை உருவாக்க வேண்டியிருக்கும் போது
map
ஐப் பயன்படுத்தவும். - இடரேஷனை நிறுத்துதல் அல்லது தொடர்தல்: நீங்கள்
break
அல்லதுcontinue
ஐப் பயன்படுத்த வேண்டுமானால், நீங்கள் ஒருfor
லூப்பைப் பயன்படுத்த வேண்டும்.forEach
மற்றும்map
நிறுத்துவதற்கோ அல்லது தொடர்வதற்கோ அனுமதிக்காது. - மாற்றமுடியாத தன்மை: நீங்கள் அசல் வரிசையை அப்படியே வைத்து, மாற்றங்களுடன் ஒரு புதிய வரிசையை உருவாக்க விரும்பும்போது,
map
ஐப் பயன்படுத்தவும்.
நிஜ-உலக காட்சிகள் மற்றும் எடுத்துக்காட்டுகள்
ஒவ்வொரு இடரேஷன் முறையும் மிகவும் பொருத்தமான தேர்வாக இருக்கக்கூடிய சில நிஜ-உலக காட்சிகள் இங்கே:
- இணையதள போக்குவரத்து தரவைப் பகுப்பாய்வு செய்தல் (
for
லூப்): முக்கிய அளவீடுகளைக் கணக்கிட மில்லியன் கணக்கான இணையதள போக்குவரத்து பதிவுகளைச் செயலாக்குதல். பெரிய தரவுத்தொகுப்பு மற்றும் உகந்த செயல்திறன் தேவை காரணமாகfor
லூப் இங்கே சிறந்ததாக இருக்கும். - தயாரிப்புகளின் பட்டியலைக் காண்பித்தல் (
forEach
): ஒரு இ-காமர்ஸ் இணையதளத்தில் தயாரிப்புகளின் பட்டியலைக் காண்பித்தல். செயல்திறன் தாக்கம் குறைவாக இருப்பதாலும், குறியீடு மிகவும் வாசிக்கக்கூடியதாக இருப்பதாலும்forEach
இங்கே போதுமானதாக இருக்கும். - பயனர் அவதார்களை உருவாக்குதல் (
map
): பயனர் தரவிலிருந்து பயனர் அவதார்களை உருவாக்குதல், இங்கு ஒவ்வொரு பயனரின் தரவும் ஒரு பட URL ஆக மாற்றப்பட வேண்டும். தரவை பட URLகளின் புதிய வரிசையாக மாற்றுவதால்map
சரியான தேர்வாக இருக்கும். - பதிவுத் தரவை வடிகட்டுதல் மற்றும் செயலாக்குதல் (
for
லூப்): பிழைகள் அல்லது பாதுகாப்பு அச்சுறுத்தல்களை அடையாளம் காண கணினி பதிவு கோப்புகளைப் பகுப்பாய்வு செய்தல். பதிவு கோப்புகள் மிகப் பெரியதாக இருக்கக்கூடும், மற்றும் பகுப்பாய்விற்கு சில நிபந்தனைகளின் அடிப்படையில் லூப்பிலிருந்து வெளியேற வேண்டியிருக்கலாம் என்பதால், ஒருfor
லூப் பெரும்பாலும் மிகவும் திறமையான விருப்பமாகும். - சர்வதேச பார்வையாளர்களுக்காக எண்களை உள்ளூர்மயமாக்குதல் (
map
): சர்வதேச பயனர்களுக்குக் காண்பிப்பதற்காக தரவைத் தயாரிக்க, எண் மதிப்புகளின் வரிசையை பல்வேறு வட்டார அமைப்புகளுக்கு ஏற்ப வடிவமைக்கப்பட்ட சரங்களாக மாற்றுதல். மாற்றத்தைச் செய்யmap
ஐப் பயன்படுத்துவது மற்றும் உள்ளூர்மயமாக்கப்பட்ட எண் சரங்களின் புதிய வரிசையை உருவாக்குவது அசல் தரவு மாறாமல் இருப்பதை உறுதி செய்கிறது.
அடிப்படைகளுக்கு அப்பால்: பிற இடரேஷன் முறைகள்
இந்தக் கட்டுரை for
லூப்கள், forEach
, மற்றும் map
ஆகியவற்றில் கவனம் செலுத்தினாலும், ஜாவாஸ்கிரிப்ட் குறிப்பிட்ட சூழ்நிலைகளில் பயனுள்ளதாக இருக்கும் பிற இடரேஷன் முறைகளையும் வழங்குகிறது:
for...of
: ஒரு இடரேட் செய்யக்கூடிய பொருளின் (எ.கா., வரிசைகள், சரங்கள், வரைபடங்கள், தொகுப்புகள்) மதிப்புகள் மீது இடரேட் செய்கிறது.for...in
: ஒரு பொருளின் கணக்கிடக்கூடிய பண்புகள் மீது இடரேட் செய்கிறது. (இடரேஷன் வரிசைக்கு உத்தரவாதம் இல்லாததாலும், மரபுரிமையாகப் பெறப்பட்ட பண்புகளையும் உள்ளடக்குவதாலும், வரிசைகளில் இடரேட் செய்வதற்கு பொதுவாகப் பரிந்துரைக்கப்படுவதில்லை).filter
: வழங்கப்பட்ட செயல்பாட்டால் செயல்படுத்தப்பட்ட சோதனையில் தேர்ச்சி பெறும் அனைத்து உறுப்புகளுடன் ஒரு புதிய வரிசையை உருவாக்குகிறது.reduce
: ஒரு குவிப்பான் மற்றும் வரிசையில் உள்ள ஒவ்வொரு உறுப்புக்கும் எதிராக (இடமிருந்து வலமாக) ஒரு செயல்பாட்டைப் பயன்படுத்துகிறது, அதை ஒற்றை மதிப்பாகக் குறைக்கிறது.
முடிவுரை
ஜாவாஸ்கிரிப்டில் வெவ்வேறு இடரேஷன் முறைகளின் செயல்திறன் பண்புகள் மற்றும் பயன்பாட்டு நிகழ்வுகளைப் புரிந்துகொள்வது திறமையான மற்றும் மேம்படுத்தப்பட்ட குறியீட்டை எழுதுவதற்கு அவசியமானது. for
லூப்கள் பொதுவாக சிறந்த செயல்திறனை வழங்கினாலும், forEach
மற்றும் map
ஆகியவை பல சூழ்நிலைகளுக்கு ஏற்ற மிகவும் சுருக்கமான மற்றும் செயல்பாட்டு மாற்றுகளை வழங்குகின்றன. உங்கள் பணியின் குறிப்பிட்ட தேவைகளை கவனமாகக் கருத்தில் கொள்வதன் மூலம், நீங்கள் மிகவும் பொருத்தமான இடரேஷன் முறையைத் தேர்வுசெய்து, உங்கள் ஜாவாஸ்கிரிப்ட் குறியீட்டை செயல்திறன் மற்றும் வாசிப்புத்திறனுக்காக மேம்படுத்தலாம்.
செயல்திறன் அனுமானங்களைச் சரிபார்க்க உங்கள் குறியீட்டை பெஞ்ச்மார்க் செய்யவும், உங்கள் பயன்பாட்டின் குறிப்பிட்ட சூழலின் அடிப்படையில் உங்கள் அணுகுமுறையை மாற்றியமைக்கவும் நினைவில் கொள்ளுங்கள். சிறந்த தேர்வு உங்கள் தரவுத்தொகுப்பின் அளவு, செய்யப்படும் செயல்பாடுகளின் சிக்கலான தன்மை மற்றும் உங்கள் குறியீட்டின் ஒட்டுமொத்த இலக்குகளைப் பொறுத்தது.