Heim >Web-Frontend >js-Tutorial >Was ist die Sortiermethode für Javascript-Arrays?

Was ist die Sortiermethode für Javascript-Arrays?

青灯夜游
青灯夜游Original
2021-06-07 17:27:504952Durchsuche

Javascript-Sortiermethode: 1. sort()-Methode, die zum Sortieren der Elemente des Arrays verwendet wird, Syntax „arrayObject.sort(sortby)“ 2. reverse()-Methode, die zum Umkehren der Reihenfolge der Elemente im Array verwendet wird, Das heißt, umgekehrte Reihenfolge, Syntax „array.reverse()“.

Was ist die Sortiermethode für Javascript-Arrays?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Sort-Methode in js

1. sort()-Methode

sort()-Methode wird zum Sortieren der Elemente des Arrays verwendet.

Beispiel:

var ar1=[2,4,6,8,1,3]
var ar2=[2,16,36,8,56]
ar1.sort()
ar2.sort()//这个方法值只能排序第一位数  也可以字符串进行排序
console.log(ar1)//[1,2,3,4,6,8]
console.log(ar2)//[16, 2, 36, 56, 8]

ar2.sort(function(a,b){
    return a-b //a-b为升序
    //return b-a  //b-a为降序
})
console.log(ar2)//[2, 8, 16, 36, 56]

2, reverse()-Methode

reverse()-Methode wird verwendet, um die Reihenfolge der Elemente in einem Array umzukehren.

Beispiel:

var ar1=[2,4,6,8,1,3]
ar1.reverse()//此方法为倒序,也就是反过来。并不会进行大小排序
console.log(ar1)//[3, 1, 8, 6, 4, 2]

Erweiterte Kenntnisse:

Blasensortierung

//每轮依次比较相邻两个数的大小,后面比前面小则交换
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i<a.length;i++){
    for(var j=0;j<a.length;j++){
        if(a[j]>a[j+1]){
            b=a[j]
            a[j]=a[j+1]
            a[j+1]=b
        }
    }
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]

Auswahlsortierung

//拿第一个数与后面数相比较,如果比后面的数大则交换
//拿第二个数与后面的数比较,如果比后面的数大则交换
//直到比较到倒数第二个数,最后一个数不用比较
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i<a.length;i++){
    for(var j=i;j<a.length;j++){
        if(a[j]>a[j+1]){
            b=a[j]
            a[j]=a[j+1]
            a[j+1]=b
        }
    }
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]

Schnellsortierung

  • Nehmen Sie zunächst eine Zahl aus dem Array als Basiszahl

  • Partitionsprozess, vergleiche Put alle Zahlen, die größer als diese Zahl sind, rechts davon und alle Zahlen, die kleiner oder gleich dieser Zahl sind, links davon.

  • Wiederholen Sie den zweiten Schritt für das linke und rechte Intervall, bis es in jedem Intervall nur noch eine Zahl gibt

function quickSort(arr, i, j) {
  if(i < j) {
    let left = i;
    let right = j;
    let mid = Math.floor((left+right)/2);
    let temp = arr[left];
    arr[left] = arr[mid];
    arr[mid] = temp;
    let pivot = arr[left];
    while(i < j) {
      while(arr[j] >= pivot && i < j) {  // 从后往前找比基准小的数
        j--;
      }
      if(i < j) {
        arr[i++] = arr[j];
      }
      while(arr[i] <= pivot && i < j) {  // 从前往后找比基准大的数
        i++;
      }
      if(i < j) {
        arr[j--] = arr[i];
      }
    }
    arr[i] = pivot;
    quickSort(arr, left, i-1);
    quickSort(arr, i+1, right);
    return arr;
  }
}

Weitere Informationen zum Programmieren finden Sie unter: Programmiervideo! !

Das obige ist der detaillierte Inhalt vonWas ist die Sortiermethode für Javascript-Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn