javascript エラー「TypeError: Array.prototype.sort requires the comparator argument to be a function or undefined」の解決方法

javascript エラー「TypeError: Array.prototype.sort requires the comparator argument to be a function or undefined」の解決方法

javascriptで、エラー「TypeError: Array.prototype.sort requires the comparator argument to be a function or undefined」が発生した場合の原因と解決方法を記述してます。

環境

  • OS macOS Big Sur
  • ブラウザ safari 15.0

エラー内容

以下のコードを実行時に発生。

const arr = [2,1,5,3,7]

const result = arr.sort(3)

console.log(result)

エラーメッセージ

TypeError: Array.prototype.sort requires the comparator argument to be a function or undefined

画像

原因

sort関数の引数は、値を比較できる関数でないとだめなため

解決方法

例えば、降順に並び替える場合は以下となります。

const result = arr.sort((a, b) => (a < b ? 1 : -1));

実行結果