ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの配列ソート方法とは何ですか

JavaScriptの配列ソート方法とは何ですか

青灯夜游
青灯夜游オリジナル
2021-06-07 17:27:504954ブラウズ

javascript ソート メソッド: 1. sort() メソッド、配列の要素をソートするために使用されます (構文 "arrayObject.sort(sortby)"); 2. reverse() メソッド、配列内の要素を反転するために使用されます。配列の順序、つまり逆順の構文「array.reverse()」。

JavaScriptの配列ソート方法とは何ですか

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

js の Sort メソッド

1.sort() メソッド

sort() メソッド配列の要素をソートするために使用されます。

例:

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() メソッド

reverse() メソッドは、配列内の要素の順序を逆にするために使用されます。

例:

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

拡張知識:

バブル ソート

//每轮依次比较相邻两个数的大小,后面比前面小则交换
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]

選択ソート

//拿第一个数与后面数相比较,如果比后面的数大则交换
//拿第二个数与后面的数比较,如果比后面的数大则交换
//直到比较到倒数第二个数,最后一个数不用比较
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]

クイック ソート

  • まず、シーケンスから基本番号として数値を取り出します。

  • 分割プロセスで、この数値より大きいすべての数値をその On the右に、それ以下のすべての数値がその左に配置されます。

  • 次に、各区間に数値が 1 つだけになるまで、左右の区間に対して 2 番目のステップを繰り返します。

  • 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;
      }
    }
プログラミング関連の知識については、

プログラミング ビデオをご覧ください。 !

以上がJavaScriptの配列ソート方法とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。