Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで大文字と小文字を区別する並べ替え


次のような文字列リテラルの配列があるとします-

const arr = ['1185 Design','3 D Exhibits','44Doors', '4Concepts','ABC Data','acceleration'];

そのような配列を1つ取り込んで、その配列をインプレースでソートするJavaScript関数を作成する必要があります。

ソート機能は、特殊文字で始まるすべての文字列、数字が最初に表示されるようにする必要があります。

その後、文字列はアルファベット順に表示されます。同じアルファベットで始まるが大文字と小文字が異なる2つの文字列がある場合は、小文字のアルファベットで始まる文字列が最初に表示されます。

このためのコードは-

になります
const arr = ['1185 Design','3 D Exhibits','44Doors', '4Concepts','ABC Data','acceleration'];
const caseSensitiveSort = (arr = []) => {
   const sorter = (a, b) => {
      if (a === b){
         return 0
      };
      if (a.charAt(0) === b.charAt(0)){
         return sorter(a.slice(1), b.slice(1))
      }
      if(a.charAt(0).toLowerCase() === b.charAt(0).toLowerCase()){
         if(/^[a-z]/.test(a.charAt(0)) && /^[A-Z]/.test(b.charAt(0))){
            return -1;
         };
         if(/^[a-z]/.test(b.charAt(0)) && /^[A-Z]/.test(a.charAt(0))){
            return 1;
         };
      };
      return a.localeCompare(b);
   };
   arr.sort(sorter);
}
caseSensitiveSort(arr);
console.log(arr);

出力

そして、コンソールの出力は-

になります
[
   '1185 Design',
   '3 D Exhibits',
   '44Doors',
   '4Concepts',
   'acceleration',
   'ABC Data'
]

  1. JavaScriptのSort()メソッド

    JavaScriptのsort()メソッドは、配列のソートに使用されます。並べ替えの順序は、アルファベット、数字、昇順、降順のいずれかです。 以下は、sort()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /&

  2. JavaScriptのArray.prototype.sort()。

    JavaScript Array.prototype.sort()メソッドは、配列の並べ替えに使用されます。並べ替えの順序は、アルファベット、数字、昇順、降順のいずれかです。 以下は、Array.prototype.sort()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-