జావాస్క్రిప్ట్ అరేయ్ సర్ట్
- పూర్వ పేజీ JS అరేయాల సొర్ట్ చేయండి
- తదుపరి పేజీ JS అరేయాల విస్తరణ
sort()
మెథాడ్ అర్రే క్రమబద్ధం మాధ్యమాలలో అత్యంత శక్తివంతమైనది.
అర్రే క్రమబద్ధం
sort()
మెట్హాడ్ అక్షర క్రమంలో అర్రే క్రమబద్ధం చేస్తుంది:
ఇన్స్టాన్స్
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // 对 fruits 中的元素进行排序
反转数组
reverse()
方法反转数组中的元素。
您可以使用它以降序对数组进行排序:
ఇన్స్టాన్స్
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // 对 fruits 中的元素进行排序 fruits.reverse(); // 反转元素顺序
数字排序
默认地,sort()
函数按照字符串顺序对值进行排序。
该函数很适合字符串("Apple" 会排在 "Banana" 之前)。
不过,如果数字按照字符串来排序,则 "25" 大于 "100",因为 "2" 大于 "1"。
正因如此,sort()
方法在对数值排序时会产生不正确的结果。
我们通过一个比值函数来修正此问题:
ఇన్స్టాన్స్
అంతరిక్ష క్రమం కనుగొనుట: క్రమం కనుగొనుట:
使用相同的技巧对数组进行降序排序:
ఇన్స్టాన్స్
అంతరిక్ష క్రమం కనుగొనుట: var points = [40, 100, 1, 5, 25, 10];
比值函数
比较函数的目的是定义另一种排序顺序。
比较函数应该返回一个负,零或正值,这取决于参数:
function(a, b){return a-b}
నాలుగు మరియు వందను క్రమీకరించడం లో ఉంది: sort()
ఫ్యాంక్షన్ రెండు విలువలను క్రమీకరణ ఫ్యాంక్షన్ కు పంపుతుంది మరియు అందించిన విలువను ఆధారంగా విలువలను క్రమీకరిస్తుంది.
ఉదాహరణకు:
నాలుగు మరియు వందను క్రమీకరించడం లో ఉంది:sort()
ఈ మార్గదర్శకం ఫ్యాంక్షన్(40,100) ను కాల్ చేస్తుంది.
ఈ ఫ్యాంక్షన్ 40-100 ను గణిస్తుంది మరియు -60 (నిష్పాదనకర విలువ) ను తిరిగి ఇస్తుంది.
క్రమీకరణ ఫ్యాంక్షన్ 40 ను 100 కంటే తక్కువ విలువగా క్రమీకరిస్తుంది.
మీరు క్రమంలో విలువలు మరియు అక్షరాలను పరిశీలించడానికి ఈ కోడ్ ఫ్రేగ్మెంట్ ను ఉపయోగించవచ్చు:
<button onclick="myFunction1()">అక్షరాల క్రమంలో క్రమీకరించు</button> <button onclick="myFunction2()">సంఖ్యల క్రమంలో క్రమీకరించు</button> <p id="demo"></p> <script> అంతరిక్ష క్రమం కనుగొనుట: document.getElementById("demo").innerHTML = points; function myFunction1() { points.sort(); document.getElementById("demo").innerHTML = points; } function myFunction2() { points.sort(function(a, b){return a - b}); document.getElementById("demo").innerHTML = points; } </script>
以随机顺序排序数组
ఇన్స్టాన్స్
అంతరిక్ష క్రమం కనుగొనుట: ప్రయోగంలో సంఖ్యలను సంక్షిప్త క్రమంలో కనుగొనుట
points.sort(function(a, b){return 0.5 - Math.random()});
అత్యున్నతం (లేదా తక్కువతమైన) ప్రయోగంలో విలువను కనుగొనేందుకు
JavaScript ప్రయోగంలో ప్రతి విలువను కనుగొనేందుకు అంతర్భాగంగా లేని ఫంక్షన్లు లేవు.
అయితే, ప్రయోగంగా ప్రయాణించిన తర్వాత, మీరు అంకురం ఉపయోగించి అత్యున్నతం లేదా తక్కువతమైన విలువను పొందవచ్చు.
ఇన్స్టాన్స్
అంతరిక్ష క్రమం కనుగొనుట: క్రమం కనుగొనుట: points.sort(function(a, b){return a - b}); // ఇప్పుడు points[0] తక్కువతమైన విలువను కలిగి ఉంటుంది
// ఇక్కడ points[points.length-1] అత్యున్నతం విలువను కలిగి ఉంటుంది
ఇన్స్టాన్స్
అంతరిక్ష క్రమం కనుగొనుట: var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return b - a}); // ఇప్పుడు points[0] అత్యున్నతం విలువను కలిగి ఉంటుంది
// ఇక్కడ points[points.length-1] తక్కువతమైన విలువను కలిగి ఉంటుంది
మీరు కేవలం అత్యున్నతం లేదా తక్కువతమైన విలువను కనుగొనాలి అయితే, మొత్తం ప్రయోగంగా ప్రయాణించడం సమయం చాలా పెద్దది.
మీ అర్థంలో Math.min() ఉపయోగించవచ్చు మీ అర్థంలో Math.max() ఉపయోగించవచ్చు
Math.max.apply
ఇన్స్టాన్స్
function myArrayMax(arr) { నాణ్యతను కనుగొనేందుకు ఉపయోగించవచ్చు: }
return Math.max.apply(null, arr);
సమానం కాగలదు Math.max.apply([1, 2, 3])
.
Math.max(1, 2, 3)
మీ అర్థంలో Math.min() ఉపయోగించవచ్చు Math.min.apply
నాణ్యతను కనుగొనేందుకు ఉపయోగించవచ్చు:
ఇన్స్టాన్స్
function myArrayMin(arr) { return Math.min.apply(null, arr); }
Math.min.apply([1, 2, 3])
సమానం కాగలదు Math.min(1, 2, 3)
.
నా Min / Max JavaScript పద్ధతులు
అత్యంత వేగవంతమైన పరిష్కారం అనేది స్వయంచాలక పద్ధతిని ఉపయోగించడం.
ఈ ఫంక్షన్ ప్రయోగంగా ప్రయాణిస్తుంది, కనుగొన్న ప్రతి విలువను ప్రతి విలువతో పోలుస్తుంది:
ప్రాయోగిక ఉదాహరణ (మాక్సిమమ్ కనుగొనుట)
function myArrayMax(arr) { var len = arr.length var max = -Infinity; while (len--) { if (arr[len] > max) { max = arr[len]; } } return max; }
ఈ ఫంక్షన్ ప్రయోగంగా ప్రయాణిస్తుంది, కనుగొన్న ప్రతి విలువను ప్రతి విలువతో పోలుస్తుంది:
ప్రాయోగిక ఉదాహరణ (మినిమమ్ కనుగొనుట)
function myArrayMin(arr) { var len = arr.length var min = Infinity; while (len--) { if (arr[len] < min) { min = arr[len]; } } return min; }
ఆప్జెక్ట్ అరేయాలను క్రమీకరించండి
జావాస్క్రిప్ట్ అరేయాలు సాధారణంగా ఆప్జెక్ట్లను కలిగి ఉంటాయి:
ఇన్స్టాన్స్
var cars = [ {type:"Volvo", year:2016}, {type:"Saab", year:2001}, {type:"BMW", year:2010}];
అనుకూలమైన డేటా రకాల అట్రిబ్యూట్స్ కలిగిన ఆప్జెక్ట్లు కలిగినప్పటికీsort()
ఈ మార్గం అరేయాలను క్రమీకరించడానికి కూడా ఉపయోగపడుతుంది.
పరిష్కారం కష్టం చేయడానికి పోలింగ్ ఫంక్షన్ ఉపయోగించాలి:
ఇన్స్టాన్స్
cars.sort(function(a, b){return a.year - b.year});
స్ట్రింగ్ అట్రిబ్యూట్స్ పై పోలింగ్ మాత్రమే కష్టం కాగలదు:
ఇన్స్టాన్స్
cars.sort(function(a, b){ var x = a.type.toLowerCase(); var y = b.type.toLowerCase(); if (x < y) {return -1;} if (x > y) {return 1;} return 0; });
- పూర్వ పేజీ JS అరేయాల సొర్ట్ చేయండి
- తదుపరి పేజీ JS అరేయాల విస్తరణ