arraySort

arraySort

> 機能

callback 関数で定義された順序に従って array リストを並べ替えます。

要素は 2 つずつ比較されます。コールバック関数は、最初の値が 2 番目の値の前、同じレベル、または後にあるかに応じて、負、0、または 正 の値を返す必要があります。

例 :

#### 設定

#### フィードバック

#### ノート

TypeScript

JavaScript の sort() は比較関数を渡さないと要素を文字列として並べ替えます。[10, 9, 1] は [1, 10, 9] となり、arraySort の数値順にはなりません。数値では必ず比較関数を渡してください: [...a].sort((x, y) => x - y)、降順なら (x, y) => y - x です。sort はその場で並べ替えるため、arraySort のように新しい配列を得るにはコピー [...a] が要ります。a.toSorted((x, y) => x - y) なら一度に両方を行えます。

Python

Python の sorted(a) は arraySort と同じく新しいソート済みリストを返します。ただし 2 引数の比較関数はありません。並べ替えはキーで行い、sorted(a, key=len) や sorted(a, key=lambda e: e.life) のように書き、reverse=True で順序を反転します。負・ゼロ・正の数を返す比較関数を再利用したい場合は包んでください: sorted(a, key=functools.cmp_to_key(comparateur))。並べ替えは要素どうしを比較するため、数値と文字列が混ざったリストは TypeError を送出します。