JavaScript Sorting and Reversing Arrays
JavaScript లో Arrays ను Sort మరియు Reverse చేయడం
Array లోని values ను ఒక క్రమంలో అమర్చడానికి sort() method ను ఉపయోగిస్తాము. Array లోని elements క్రమాన్ని పూర్తిగా తిప్పడానికి reverse() method ను ఉపయోగిస్తాము.
sort() method
sort() method array elements ను default గా strings లాగా compare చేస్తుంది. అందువల్ల numbers ను sort చేసేటప్పుడు comparison function ఇవ్వడం మంచిది.
Ascending order కోసం (a, b) => a – b ఉపయోగించవచ్చు. Descending order కోసం (a, b) => b – a ఉపయోగించవచ్చు.
reverse() method
reverse() method array లోని elements order ను మార్చి చివరి element ను మొదటికి తీసుకువస్తుంది. ఇది కూడా original array ను మార్చుతుంది.
Original array ను కాపాడటం
sort() మరియు reverse() రెండూ original array ను modify చేస్తాయి. Original array మారకూడదంటే spread syntax తో copy తయారు చేసి ఆ copy పై method ఉపయోగించాలి. ఉదాహరణకు, […numbers].sort((a, b) => a – b).
Strings ను sort చేయడం
Strings ను సాధారణంగా sort() తో alphabetical order లో అమర్చవచ్చు. Capital మరియు lowercase letters ఉన్నప్పుడు sorting order మారవచ్చు, కాబట్టి data case ను గమనించాలి.
Simple Explanation
ఒక పుస్తకాల shelf లో పుస్తకాలను A నుండి Z వరకు అమర్చడం sort() లాంటిది. అదే పుస్తకాల వరుసను వెనుక నుండి ముందుకు తిప్పడం reverse() లాంటిది.
Numbers కోసం comparison function తప్పనిసరిగా ఇవ్వడం మంచిది. a – b చిన్న number ను ముందు ఉంచుతుంది. b – a పెద్ద number ను ముందు ఉంచుతుంది.
గమనించాల్సిన ముఖ్యమైన విషయం: ఈ methods original array ను మార్చుతాయి. కాబట్టి original data అవసరమైతే ముందుగా array copy తీసుకోండి.
Real-Life Example
ఒక online shopping website లో products ను price తక్కువ నుండి ఎక్కువ వరకు చూపించడానికి sort() ఉపయోగించవచ్చు. User “High to Low” option ఎంచుకున్నప్పుడు descending comparison function ఉపయోగించవచ్చు. ఒక playlist లో songs ను చివరి song నుండి మొదటి song వరకు చూపించడానికి reverse() ఉపయోగించవచ్చు.
Code Examples
Numbers ను ascending మరియు descending order లో sort చేయడం
const numbers = [40, 5, 100, 25];
const ascending = [...numbers].sort((a, b) => a - b);
const descending = [...numbers].sort((a, b) => b - a);
console.log(ascending);
console.log(descending);
console.log(numbers);
ఇక్కడ spread syntax ఉపయోగించి numbers array కి రెండు copies తయారు చేశాము. a – b ద్వారా ascending order, b – a ద్వారా descending order పొందాము. అందువల్ల original numbers array మారలేదు.
[ 5, 25, 40, 100 ] [ 100, 40, 25, 5 ] [ 40, 5, 100, 25 ]
Array ను reverse చేయడం
const colors = ["Red", "Green", "Blue"];
colors.reverse();
console.log(colors);
reverse() method colors array లోని order ను తిప్పింది. Blue మొదటి element గా, Red చివరి element గా మారింది. ఈ method original array ను modify చేస్తుంది.
[ 'Blue', 'Green', 'Red' ]
Strings ను alphabetical order లో sort చేయడం
const fruits = ["Mango", "Apple", "Banana", "Orange"];
fruits.sort();
console.log(fruits);
Strings array పై sort() ఉపయోగించినప్పుడు values alphabetical order లో అమర్చబడతాయి. ఈ operation తర్వాత fruits అనే original array మారుతుంది.
[ 'Apple', 'Banana', 'Mango', 'Orange' ]
Line-by-Line Explanation
ఇది numbers అనే array ను నాలుగు numeric values తో తయారు చేస్తుంది.
[…numbers] ద్వారా original array కి copy తయారవుతుంది. తరువాత sort() comparison function చిన్న value ను ముందు ఉంచి ascending order ను తయారు చేస్తుంది.
ఇది మరో copy పై sorting చేస్తుంది. b – a ఉపయోగించడం వల్ల పెద్ద value ముందుగా వస్తుంది, కాబట్టి descending order వస్తుంది.
Ascending order లో ఉన్న array ను console లో చూపిస్తుంది.
Descending order లో ఉన్న array ను console లో చూపిస్తుంది.
Copy పై sorting చేసినందువల్ల original numbers array ఎలా ఉందో చూపిస్తుంది. ఇది మారకుండా ఉంటుంది.
Try It
Try this JavaScript code:
const prices = [250, 80, 120, 40, 300];
const lowToHigh = [...prices].sort((a, b) => a - b);
const highToLow = [...prices].sort((a, b) => b - a);
console.log(lowToHigh);
console.log(highToLow);
Practice
Practice:
Practice task: scores array లో ఉన్న తప్పు values ను సరైన numbers గా మార్చండి. తరువాత original array ను మార్చకుండా scores ను highest నుండి lowest వరకు sort చేసి print చేయండి. చివరగా original scores array ను కూడా print చేయండి.
Hint:
Descending order కోసం […scores].sort((a, b) => b – a) ఉపయోగించండి. Copy చేయడం వల్ల original array అలాగే ఉంటుంది.
Common Mistakes
Numbers పై కేవలం sort() ఉపయోగించడం. ఉదాహరణకు [40, 5, 100] ను numeric order లో sort చేయాలని అనుకోవడం.
Numbers కోసం comparison function ఇవ్వండి: numbers.sort((a, b) => a – b). Default sort values ను strings లాగా compare చేయవచ్చు.
sort() లేదా reverse() original array ను మార్చవని అనుకోవడం.
Original array ను రక్షించడానికి ముందుగా spread copy తీసుకోండి: […array].sort() లేదా […array].reverse().
Descending order కోసం a – b ఉపయోగించడం.
Descending order కోసం b – a ఉపయోగించాలి. a – b ascending order ఇస్తుంది.
reverse() ను sorting method గా భావించడం.
reverse() కేవలం ప్రస్తుత order ను తిప్పుతుంది. Values ను చిన్నది నుండి పెద్దది లేదా alphabetical order లో అమర్చడానికి sort() ఉపయోగించాలి.
Interview Questions
JavaScript లో sort() method ఏం చేస్తుంది?
Answer:
sort() array elements ను ఒక క్రమంలో అమర్చుతుంది. Default గా values ను strings లాగా compare చేస్తుంది. Numbers కోసం comparison function ఇవ్వడం మంచిది.
Numbers ను ascending order లో ఎలా sort చేస్తారు?
Answer:
numbers.sort((a, b) => a – b) ఉపయోగిస్తారు. ఇది చిన్న numbers ను ముందు ఉంచుతుంది.
sort() మరియు reverse() original array ను modify చేస్తాయా?
Answer:
అవును. రెండూ original array ను modify చేస్తాయి. Original array ను కాపాడాలంటే spread syntax తో copy తయారు చేయాలి.
Descending order కోసం ఏ comparison function ఉపయోగిస్తారు?
Answer:
(a, b) => b – a ఉపయోగిస్తారు. ఇది పెద్ద value ను ముందుకు తీసుకువస్తుంది.
Exam Questions
క్రింది code output ఏమిటి? const values = [3, 1, 2]; values.sort((a, b) => a – b); console.log(values);
Answer:
Output: [ 1, 2, 3 ]
క్రింది code output ఏమిటి? const items = [“A”, “B”, “C”]; items.reverse(); console.log(items);
Answer:
Output: [ ‘C’, ‘B’, ‘A’ ]
Original array ను మార్చకుండా numbers ను descending order లో ఎలా sort చేస్తారు?
Answer:
const result = […numbers].sort((a, b) => b – a); అని రాయాలి. Spread syntax copy పై sorting చేస్తుంది.
Quick Revision
- sort() array elements ను క్రమంలో అమర్చుతుంది.
- Numbers కోసం (a, b) => a – b ascending order ఇస్తుంది.
- Numbers కోసం (a, b) => b – a descending order ఇస్తుంది.
- reverse() array order ను పూర్తిగా తిప్పుతుంది.
- sort() మరియు reverse() original array ను modify చేస్తాయి.
- Original array ను కాపాడటానికి […array] తో copy తయారు చేయండి.
