はじめに
この実験では、JavaScript プログラミングを探求し、Array.prototype.reduce()、Array.prototype.filter()、および Array.prototype.map() メソッドを一緒に使って、条件に基づいてオブジェクトの配列をフィルタリングし、不明なキーも除外する関数を作成する方法を学びます。この実験は、JavaScript の関数型プログラミングの理解と、オブジェクトの配列を簡潔かつ効率的に操作する方法の向上に役立ちます。
条件とキーによるオブジェクトのフィルタリング
条件に基づいてオブジェクトの配列をフィルタリングすると同時に、不明なキーも除外するには、reducedFilter() 関数を使用します。
以下が手順です:
Array.prototype.filter()を使用して、述語fnに基づいて配列をフィルタリングし、条件が真値を返したオブジェクトを返します。フィルタリングされた配列に
Array.prototype.map()を使用して新しいオブジェクトを返します。Array.prototype.reduce()を使用して、keys引数として提供されなかったキーを除外します。
const reducedFilter = (data, keys, fn) =>
data.filter(fn).map((el) =>
keys.reduce((acc, key) => {
acc[key] = el[key];
return acc;
}, {})
);
以下は、reducedFilter() 関数の使用例です:
const data = [
{
id: 1,
name: "john",
age: 24
},
{
id: 2,
name: "mike",
age: 50
}
];
reducedFilter(data, ["id", "name"], (item) => item.age > 24);
// 出力:[{ id: 2, name:'mike'}]
コーディングの練習を始めるには、ターミナル/SSH を開いて node と入力します。
まとめ
おめでとうございます!あなたはフィルターマッチングと不明な値の実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を練習できます。