はじめに
この実験では、JavaScript を使って、与えられたプロパティに基づいてオブジェクトの配列をアルファベット順にソートする方法を学びます。与えられたプロパティの値を比較するために、Array.prototype.sort() メソッドと String.prototype.localeCompare() メソッドを使います。これにより、必要に応じて配列を昇順または降順に簡単にソートできます。
JavaScript で与えられたプロパティに基づいて配列をアルファベット順にソートする方法
JavaScript で与えられたプロパティに基づいてオブジェクトの配列をアルファベット順にソートするには、次の手順を実行します。
- ターミナル/SSH を開き、コーディングを練習するために
nodeと入力します。 Array.prototype.sort()を使って、与えられたプロパティに基づいて配列をソートします。String.prototype.localeCompare()を使って、与えられたプロパティの値を比較します。
以下は使用できるコード スニペットの例です。
const alphabetical = (arr, getter, order = "asc") =>
arr.sort(
order === "desc"
? (a, b) => getter(b).localeCompare(getter(a))
: (a, b) => getter(a).localeCompare(getter(b))
);
オブジェクトの配列とソート対象のプロパティを返すゲッター関数を使って、alphabetical 関数を呼び出すことができます。以下は使用例です。
const people = [{ name: "John" }, { name: "Adam" }, { name: "Mary" }];
alphabetical(people, (g) => g.name);
// [ { name: 'Adam' }, { name: 'John' }, { name: 'Mary' } ]
alphabetical(people, (g) => g.name, "desc");
// [ { name: 'Mary' }, { name: 'John' }, { name: 'Adam' } ]
まとめ
おめでとうございます!アルファベット順に配列をソートする実験を完了しました。技術力を向上させるために、LabEx でさらに実験を行って練習してください。