はじめに
この実験では、JavaScript の uniqueElementsByRight() 関数を使って、提供された比較関数に基づいて配列の逆順の一意の値を見つける方法を探ります。提供された比較関数に基づいて、各値の最後の一意の出現のみを含む配列を作成するために、Array.prototype.reduceRight() と Array.prototype.some() メソッドをどのように使うか学びます。この実験が終わるとき、これらのメソッドを使って JavaScript の配列を操作する方法をより深く理解しているでしょう。
配列内の逆順の一意の値を見つける関数
与えられた比較関数に基づいて配列のすべての一意の値を右から見つけるには、次の手順に従います。
- ターミナル/SSH を開き、コーディングを練習するために
nodeと入力します。 Array.prototype.reduceRight()とArray.prototype.some()を使って、比較関数fnに基づいて、各値の最後の一意の出現のみを含む配列を作成します。- 比較関数には 2 つの引数があります。比較されている 2 つの要素の値です。
- 関数を実装するコードは次のとおりです。
const uniqueElementsByRight = (arr, fn) =>
arr.reduceRight((acc, v) => {
if (!acc.some((x) => fn(v, x))) acc.push(v);
return acc;
}, []);
- 関数をテストするには、次のコードを使用します。
uniqueElementsByRight(
[
{ id: 0, value: "a" },
{ id: 1, value: "b" },
{ id: 2, value: "c" },
{ id: 1, value: "d" },
{ id: 0, value: "e" }
],
(a, b) => a.id == b.id
); // [ { id: 0, value: 'e' }, { id: 1, value: 'd' }, { id: 2, value: 'c' } ]
まとめ
おめでとうございます!配列内の関数に基づく逆順の一意の値の実験を完了しました。スキルを向上させるために、LabEx でさらに実験を行って練習してください。