はじめに
この実験では、与えられた条件に一致するオブジェクトの最後のキーを見つけるのに役立つ findLastKey() と呼ばれる JavaScript 関数を調べます。Object.keys()、Array.prototype.reverse()、および Array.prototype.find() を使用してこの関数を実装する方法を学び、オブジェクトを操作する際にコードを簡略化するためにどのように使用できるかを見ていきます。この実験が終わるとき、JavaScript オブジェクトの操作方法と、コードをより簡潔かつ効率的にするための findLastKey() 関数の使い方をより深く理解しているでしょう。
条件に一致する最後のキーを見つける関数
与えられた条件を満たすオブジェクトの最後のキーを見つけるには、findLastKey 関数を使用します。この関数は、オブジェクトとテスト関数を引数として取ります。一致するキーが見つかると、そのキーを返します。そうでなければ、undefined を返します。この関数が最後のキーを見つけるためにとる手順は次のとおりです。
Object.keys()を使用して、オブジェクトのすべてのプロパティを取得します。Array.prototype.reverse()を使用して、キーの順序を逆にします。Array.prototype.find()を使用して、各キーと値のペアに対して提供された関数をテストします。コールバック関数には、値、キー、オブジェクトの 3 つの引数が渡されます。- 一致するキーが見つかったら、それを返します。
const findLastKey = (obj, fn) =>
Object.keys(obj)
.reverse()
.find((key) => fn(obj[key], key, obj));
findLastKey を使用する例を次に示します。
findLastKey(
{
barney: { age: 36, active: true },
fred: { age: 40, active: false },
pebbles: { age: 1, active: true }
},
(x) => x["active"]
); // 'pebbles'
この関数を使用するには、ターミナル/SSH を開き、コーディングを練習するために node と入力します。
まとめ
おめでとうございます!Find Last Matching Key の実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を練習できます。