ஒரு டெவலப்பருக்கு பணிகளை முடிப்பது மட்டும் அவசியமில்லை, ஆனால் பணிகளை மிகவும் திறமையான முறையில் செய்வதும் அவசியம். இன்று ஜாவாஸ்கிரிப்டில் பல நூலகங்கள் உள்ளன, அவை டெவலப்பர்களுக்கு மாறிகளுடன் வேலை செய்வதை எளிதாக்குகின்றன. இந்த டுடோரியலில் Lodash நூலகத்தின் மிகவும் பொதுவான செயல்பாடுகளை எவ்வாறு பயன்படுத்துவது என்பதைக் கற்றுக்கொள்வோம்.
நீங்கள் இன்னும் லோடாஷை முயற்சிக்கவில்லை என்றால், இப்போது தான் தருணம். லோடாஷ் என்பது ஒரு சமகால ஜாவாஸ்கிரிப்ட் பயன்பாட்டு தொகுப்பாகும், இது வரிசைகள், முழு எண்கள், பொருள்கள், உரைகள் மற்றும் பிற தரவு வகைகளுடன் எளிதாக வேலை செய்வதை எளிதாக்குகிறது.
இது பல்வேறு வகையான பொருட்களைக் கையாள்வதில் உங்களுக்கு உதவுவதோடு, பொதுவான முறைகளைக் குறியீடாக்க வேண்டிய தேவையை நீக்கி உங்கள் நேரத்தைச் சேமிக்கும். உங்கள் குறியீடு குறைவான வரிகளுடன் சுத்தமாக இருக்கும் மற்றும் எல்லா உலாவிகளிலும் செயல்படும். நீங்கள் ஏற்கனவே அதைப் பயன்படுத்தவில்லை என்றால், நீங்கள் அதை கவனமாக பரிசீலிக்க வேண்டும்.
லோடாஷை ஏற்றுக்கொள்ளாதது எங்கள் ஜாவாஸ்கிரிப்ட் கோட்பேஸ்களுக்கு மிகப்பெரிய இழப்பாகும். இது பிழைகள் இல்லாத மற்றும் நேர்த்தியான தீர்வாகும், மேலும் நாங்கள் பணிபுரியும் பொதுவான சவால்களுக்கு இது ஒரு சிறந்த தீர்வாகும், மேலும் அதைப் பயன்படுத்துவதன் மூலம் எங்கள் குறியீட்டை மேலும் படிக்கக்கூடியதாகவும் நிர்வகிக்கக்கூடியதாகவும் மாற்றும்.
மிகவும் பிரபலமான சில (அல்லது இல்லை!) Lodash செயல்பாடுகளை ஆராய்ந்து, இந்த நூலகம் எவ்வளவு பயனுள்ளதாகவும் அழகாகவும் இருக்கிறது என்பதைக் கண்டறியலாம்.
1. _.sortedUniq
அனைத்து நகல் மதிப்புகளும் இதனுடன் வழங்கப்படாது. இது வரிசைப்படுத்தப்பட்ட வரிசைகளுக்கு மட்டுமே என்பதால், இது முக்கியமாக வேகக் காரணங்களுக்காகப் பயன்படுத்தப்படுகிறது. நீங்கள் ஒரு பெரிய வரிசையைக் கையாள்வதில் மட்டுமே இது பயனுள்ளதாக இருக்கும். நீங்கள் வேகத்தை மேம்படுத்த விரும்பினால், உங்கள் வரிசையை வரிசைப்படுத்தி, வரிசைப்படுத்தப்பட்ட வரிசைகளுடன் சிறப்பாக செயல்படும் முறைகளைப் பயன்படுத்தவும்.
Lodash இதைப் போன்ற பல செயல்பாடுகளைக் கொண்டுள்ளது. நீங்கள் .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy,.sortedUniqBy, .sortedUniqBy
2. _.குறைக்கவும்
_.குறைத்தல் என்பது வடிகட்டி செயல்பாட்டைப் போன்றது. ஒரே ஒரு வித்தியாசம் என்னவென்றால், திரும்பிய பொருளின் படிவத்தைத் தேர்ந்தெடுக்க உங்களுக்கு விருப்பம் உள்ளது. நான் சொல்வதை நீங்கள் புரிந்து கொள்ளவில்லை என்றால், இது சாதாரணமானது; அதற்கு ஒரு உதாரணம் இருக்கிறது.
சாராம்சத்தில், வயதின் அடிப்படையில் வகைப்படுத்தப்பட்ட பயனர்களைக் கொண்ட புதிய பொருளை நாங்கள் திருப்பித் தருகிறோம், ஆனால் 18 முதல் 59 வயதுடையவர்களுக்கு மட்டுமே. இந்த லோடாஷ் ஹெல்பர் செயல்பாடு பொதுவாகப் பயன்படுத்தப்படும் ஒன்றாகும். இது ES6 இல் சேர்க்கப்பட்டுள்ளது. இரண்டு பொதுவான தவறுகளையும் நான் சுட்டிக்காட்ட விரும்புகிறேன்: செயல்பாட்டின் முடிவில் முடிவைத் திரும்பப் பெற நினைவில் கொள்ளுங்கள், மேலும் முடிவுக்கான இயல்புநிலை மதிப்பை மூன்றாவது அளவுருவாக வழங்கவும் (இங்கே).
3. _.கெட் மற்றும் ._செட்
இதற்கு, ஏறக்குறைய ஒரே செயலைச் செய்யும் இரண்டு செயல்பாடுகளைக் காட்டி உங்களை ஓரளவு ஏமாற்றுவேன். _.ஒரு பொருளில் இருந்து ஒரு சொத்து மதிப்பை பெறவும், மற்றும் _.செட், நீங்கள் யூகித்தீர்கள், மதிப்புடன் ஒரு சொத்தை அமைக்கவும். ஒரு சொத்தை அதன் பாதையில் நீங்கள் அணுகலாம் என்பதைத் தவிர, தனித்துவமான எதுவும் இல்லை.
ஒரு உதாரணத்தைப் பார்ப்போம்.
_.set ஐ அழைக்கும் போது பாதை இல்லை என்றால், அது உருவாக்கப்படும். "வரையறுக்கப்படாத சொத்து 'உருப்படிகளை' அமைக்க முடியாது" பிழைகள் இனி இருக்காது. பாதை இல்லை என்றால், _.get பிழைக்கு பதிலாக வரையறுக்கப்படாமல் திரும்பும். பாதை வரையறுக்கப்படாததாக இருந்தால், நீங்கள் இயல்புநிலை மதிப்பையும் வழங்கலாம் (மூன்றாவது அளவுரு).
4. _.கண்டுபிடி
ஒரு வரிசையின் மூலம் ஒரு பொருளைக் கண்டுபிடிப்பதற்குப் பதிலாக, நாம் _.find ஐப் பயன்படுத்தலாம். அது நல்லது, ஆனால் அது மட்டும் _.find செய்ய முடியாது. குறியீட்டின் ஒற்றை வரியில், பல பண்புகளைப் பயன்படுத்தி ஒரு பொருளைக் கண்டறியலாம். அதைப் பாருங்கள்!
5. _.keyBy
எனக்குப் பிடித்த ஒன்று _.keyBy. ஒரு குறிப்பிட்ட பண்புடன் ஒரு பொருளைப் பெற முயற்சிக்கும்போது இது மிகவும் பயனுள்ளதாக இருக்கும். எங்களிடம் 100 வலைப்பதிவு உள்ளீடுகள் உள்ளன மற்றும் "34abc" ஐடியுடன் ஒன்றைப் பிடிக்க விரும்புகிறோம். அதை எப்படிச் செய்யப் போகிறோம்? என்ன நடக்கிறது என்று பார்ப்போம்! ஒரு சர்வர் அதை ஒரு வரிசையாக வழங்கினால், ஒரு பொருள் சேகரிப்பை ஏற்பாடு செய்ய இந்த முறை உங்களுக்கு உதவும். ஒரு செயல்பாடு இரண்டாவது வாதமாகவும் பயன்படுத்தப்படலாம்.
6. _.ஒவ்வொருவருக்கும்
இந்த முறையானது, பொருள்களின் வரிசையை ஒவ்வொன்றாக மீண்டும் மீண்டும் செய்யும், நீங்கள் விரும்பும் எந்த தர்க்கத்தையும் செய்ய அனுமதிக்கிறது. இந்த முதல் எடுத்துக்காட்டில், பயனர் பொருள்களின் பட்டியலை லூப் செய்வேன், அவற்றின் முதல் மற்றும் கடைசி பெயர்களை ஒன்றிணைத்து முழுப்பெயர் என்ற புதிய சொத்தை உருவாக்குவேன்.
இவை ஒவ்வொன்றும் இரண்டு அளவுருக்களை ஏற்றுக்கொள்கிறது. நாம் லூப் செய்யும் வரிசை முதல் அளவுருவாகும். இரண்டாவது வாதம் ஒரு மறுசெயல் செயல்பாடு ஆகும், முதல் அளவுரு தனிப்பட்ட உருப்படி குறிப்பு மற்றும் இரண்டாவது மறு செய்கையின் தற்போதைய குறியீடாகும்.
7. _.வரைபடம்
வரைபடமானது, ஒவ்வொன்றையும் போலவே, மதிப்புகளின் வரிசை முழுவதும் மீண்டும் செயல்படுகிறது. மறுபுறம், வரைபட செயல்பாடு, மறுபுறம் செயல்பாட்டால் வழங்கப்பட்ட மதிப்புகளின் புதிய வரிசையை வழங்குகிறது. எங்கள் forEach எடுத்துக்காட்டில் உள்ள அதே பயனர்களின் தொகுப்பை நாங்கள் இங்கு பயன்படுத்துகிறோம். அனைத்து பயனர்களின் முழுப் பெயர்களின் தட்டையான வரிசையைக் கொண்ட புதிய மாறியை உருவாக்க _.map ஐப் பயன்படுத்தலாம்.
8. _.வேறுபாடு
வேறுபாடு செயல்பாடு முதல் மற்றும் இரண்டாவது வரிசைகளுக்கு இடையில் வேறுபடும் மதிப்புகளின் புதிய வரிசையை உருவாக்கும். வாதங்களின் இருப்பிடங்கள் விளைவுகளை பாதிக்கின்றன என்பதைக் கவனத்தில் கொள்ள வேண்டியது அவசியம்.
9. _.பெறு
_.get() செயல்பாடு ஒரு பொருளுக்குள் ஒரு உறுப்பைக் கண்டறிவதில் நமக்கு உதவுகிறது. வழங்கப்பட்ட பாதையில் ஒரு உறுப்பு காணப்படவில்லை என்றால், _.get() செயல்பாட்டிற்கு இயல்புநிலை மதிப்பை அமைக்கலாம். _.get() செயல்பாடு மூன்று அளவுருக்களை எடுக்கும், அதில் முதலாவது நாம் ஒரு உறுப்பைப் பெற விரும்பும் பொருளாகும். பாதை இரண்டாவது. மூன்றாவது மதிப்பு என்பது ஒரு உறுப்பைக் கண்டுபிடிக்க முடியாவிட்டால், நாம் திரும்ப விரும்பும் இயல்புநிலை மதிப்பாகும்.
10. _.கண்டுபிடி
_find() செயல்பாடு _.get() முறையைப் போலவே தோன்றலாம். _.get() முறையைப் போன்ற _.find() செயல்பாடு மூன்று அளவுருக்களை ஏற்றுக்கொள்கிறது. இருப்பினும், _.get() முறையைப் போலன்றி, முதல் வாதம் ஒரு வரிசை அல்லது ஒரு பொருளாக இருக்கலாம். இரண்டாவது வாதம் ஒவ்வொரு மறு செய்கையிலும் அழைக்கப்படும் செயல்பாட்டைக் குறிப்பிடுகிறது. மூன்றாவது உள்ளீடு சேகரிப்பின் தொடக்கக் குறியீடாகும். ஏனெனில் _.find() செயல்பாடு ஒரு தொகுப்பில் உள்ள ஒவ்வொரு தனிமத்தின் மீதும் மீண்டும் செயல்படுகிறது.
11. _.groupBy
ஒரு செயல்பாட்டின் விளைவாக பெயரிடப்பட்ட ஒரு பொருளை உருவாக்கவும் (அல்லது தோராயமாக தேர்ந்தெடுக்கப்பட்ட சொத்து பெயர்), ஒவ்வொரு மதிப்பும் ஒரே விசையுடன் கூடிய பொருட்களின் வரிசையாக இருக்கும்.
12. _.தொகுப்பு
_.set() என்பது _.get() முறையின் தலைகீழ் ஆகும். இது கொடுக்கப்பட்ட பாதையில் ஒரு தனிமத்தின் மதிப்பை மாற்றும். பொருள் அல்லது வரிசை என்பது முதல் அளவுரு, பாதை இரண்டாவது, மற்றும் நீங்கள் அமைக்க விரும்பும் மதிப்பு மூன்றாவது.
13. _.இணைப்பு
இது Object.assign போலவே செயல்படுகிறது, ஆனால் அது ஆழமான பொருள்களை மாற்றுவதற்குப் பதிலாக அவற்றைப் புதுப்பிக்க அடிப்படை கட்டமைப்பில் ஆழமாகத் திரும்புகிறது.
14. ._டெபர்
இது ஒரு நேரடியான உதாரணம். அனைத்து "ஒருங்கிணைக்கும் டயக்ரிட்டிக்கல் அடையாளங்கள்" அகற்றப்படும். இதனால் "é" என்பது "e" ஆகிறது. சர்வதேசமயமாக்கல் மற்றும் உள்ளூர்மயமாக்கல் இருக்கும்போது, தேடல் செயல்பாடுகளுக்கு உரையை நீக்குவது ஒரு நல்ல நடைமுறையாகும்.
15. _.டிபௌன்ஸ்
இது மிகவும் பயனுள்ள Lodash உத்திகளில் ஒன்றாகும். அது என்ன செய்கிறது மற்றும் எப்போது பயன்படுத்த வேண்டும் என்பதைப் புரிந்துகொள்வது கடினமாக இருக்கலாம். _.debounce() முறை ஒரு செயல்பாட்டை வழங்குகிறது. _.debounce() முறையின் செயல்பாடு, செயல்பாடு கடைசியாக செயல்படுத்தப்பட்டதிலிருந்து குறிப்பிட்ட எண்ணிக்கையிலான மில்லி விநாடிகள் கடக்கும் வரை அழைப்பை தாமதப்படுத்தும்.
தீர்மானம்
லோடாஷ் என்பது ஜாவாஸ்கிரிப்ட் மொழியின் சக்திவாய்ந்த நீட்சியாகும். குறைந்த முயற்சியுடன், ஒருவர் சுருக்கமான மற்றும் திறமையான குறியீட்டை உருவாக்கலாம். Lodash முற்றிலும் மட்டு உள்ளது. அதன் சில செயல்பாடுகள் இறுதியில் நிறுத்தப்பட்டாலும், JS மொழியின் பரிணாம வளர்ச்சியை இயக்கும் அதே வேளையில் டெவலப்பர்களுக்கு இது இன்னும் பல நன்மைகளை வழங்கும் என்று நான் நம்புகிறேன்.
இந்த சில Lodash திறன்கள், வரிசைகள், பொருள்கள் மற்றும் சேகரிப்புகளுடன் பணிபுரியும் போது Lodash எவ்வளவு சக்திவாய்ந்ததாக இருக்கும் என்பதைப் பார்க்க உதவும் என்று நம்புகிறேன். நீங்கள் பார்வையிடலாம் ஆவணங்கள் இது வழங்கக்கூடிய பல விருப்பங்களை ஆராய.
ஒரு பதில் விடவும்