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

NaN値が常に一番下になるように、JavaScript配列を並べ替えます。


文字列と数値が混在するデータ型を含む配列があります。NaN値が常に一番下になるように配列を並べ替える並べ替え関数を作成する必要があります。配列には、最初に文字列リテラルが続き、次にNaNnumbersが続くすべての正規数が含まれている必要があります。

NaNのデータ型は「数値」であることがわかっているため、!number &&!stringのようにNaNをチェックすることはできません。さらに、要素のトートロジーと偽りを単純にチェックすると、空の文字列もNaNまたはundefinedが満たすのと同じ条件を満たすことになります。

NaNを確認する

では、NaNをどのようにチェックするのでしょうか。 NaN番号には特別な特性があり、NaNはNaNと同等です。つまり、JSの他の値の場合、値===の値はtrueになりますが、NaN===NaNは常にfalseになります。この事実を使用して配列を並べ替えます。

const arr = [344, 'fd', NaN, '', 5, 'f',76, NaN, 76, NaN, 87, 89, 'fdf',
23, 'fgg', NaN, 765];
const sorter = (a, b) => {
   if(a !== a){
      return 1;
   }else if(b !== b){
      return -1;
   }
   return typeof a === 'number' ? -1 : 1;
};
arr.sort(sorter);
console.log(arr);

出力

コンソールの出力は-

になります
[
   765, 23, 89, 87,
   76, 76, 5, 344,
   'fd', '', 'f', 'fdf',
   'fgg', NaN, NaN, NaN,
   NaN
]
>
  1. JavaScript array.values()

    JavaScriptのarray.values()は、指定された配列のすべての値を含むイテレータオブジェクトを返します。 以下は、array.values()関数のコードです- 例 <!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-