Heim >Web-Frontend >js-Tutorial >Simulieren Sie die Sortierung in Javascript

Simulieren Sie die Sortierung in Javascript

怪我咯
怪我咯Original
2017-03-30 09:52:071091Durchsuche

1. Das Prinzip des Sortierens von Daten in der Javascriptsort

sort()-Methode Array-Elemente werden nach Ort sortiert und dieses Array wird zurückgegeben. Die Sortierung ist möglicherweise nicht stabil. Standardmäßig wird nach dem Unicode-Codepunkt von string sortiert; Syntax: arr.sort([compareFunction])

Parameter CompareFunction

optional. Wird verwendet, um eine
-Funktion
anzugeben, die in einer bestimmten Reihenfolge angeordnet ist. Wenn es weggelassen wird, werden die Elemente nach den Unicode-Positionen der Zeichen in der konvertierten Zeichenfolge sortiert. Wenn CompareFunction(a, B) kleiner als 0 ist, wird a vor B angeordnet.

Wenn CompareFunction(a, B) gleich 0 ist, werden die relativen Positionen von a und b bleiben unverändert. Hinweis: Der ECMAScript-Standard garantiert dieses Verhalten nicht und nicht alle Browser erfüllen die Anforderungen.

Wenn CompareFunction(a, b) größer als 0 ist, wird b vor a sortiert.

//将数组中的元素按照从小大的顺序排列
 var arr=[11,55,22,45,16,87];

  arr.sort(function(a,b){
    return a-b;
  });
  console.log(arr);
2. Simulieren Sie das Prinzip der internen Sortierung von Daten in Javascript


sortSelf(arr,function(a,b){
    return a-b;
  });
  console.log(arr);

 function sortSelf(array,fn){
    for (var i = 0; i < array.length-1; i++) {
      var isSorted=true; //默认已经排好序
      for (var j = 0; j < array.length-1-i; j++) {
        //调用函数
        if(fn(array[j],array[j+1])>0){
          //交换两个变量
          var temp=array[j];
          array[j]=array[j+1];
          array[j+1]=temp;
          isSorted=false;
        }
      }
      if(isSorted){
        break;
      }
    }
  }


Simulieren Sie die Sortierung in Javascript

Das obige ist der detaillierte Inhalt vonSimulieren Sie die Sortierung in Javascript. 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