Stable array sort
ES2019 以降、Array.prototype.sort() は安定ソート(stable sort)であることが仕様で保証されています。等しい要素の相対的な順序が元の配列と同じに保たれます。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
Array.sort.stable sorting | 70 | 79 | 3 | 10.1 | 70 | 10.3 |
基本構文
JAVASCRIPT
const items = [
{ name: 'A', priority: 1 },
{ name: 'B', priority: 2 },
{ name: 'C', priority: 1 },
];
items.sort((a, b) => a.priority - b.priority);
// The relative order of A and C is preserved (stable sort) ライブデモ
実務での使いどころ
-
Stable array sort の活用
Array.sort() の安定ソートが保証された仕様。同じ値の要素の相対順序が維持される。
注意点
- 特になし。すべての主要ブラウザで安定して動作する。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。