JavaScript の属性に基づいてオブジェクト配列をフィルタリングする
- JavaScript の属性に基づいてオブジェクト配列をフィルタリングするための一般的なコールバック関数
- 矢印関数を使用して、JavaScript の属性に基づいてオブジェクト配列をフィルタリングする
filter()
メソッドは、好みの結果を取得する最も簡単な方法です。
それ以外は、オブジェクト配列全体をループして、条件を明示的に宣言できます。技術的には、コードが少なく、アクセスが簡単な手法は、filter
メソッドによるものです。
ここでは、オブジェクト配列でフィルターを使用する 2つの方法に焦点を当てます。フィルター処理された結果を格納するために、コールバック関数を変数またはオブジェクトに送信します。
このコールバック関数は、関数の一般的な構造を持ちます。後で、矢印関数を使用してケースを解決し、結果が類似しているかどうかを確認します。
JavaScript の属性に基づいてオブジェクト配列をフィルタリングするための一般的なコールバック関数
このデモンストレーションでは、複数の属性、つまり key-value
ペアを持つ配列を初期化します。戦略は、最初にオブジェクトにアクセスしてから、配列にアクセスすることです。
次に、属性を取得して条件を適用します。filter
メソッドを使用すると、条件に完全に一致するものがフィルター処理されます。
コード行に飛び乗ってみましょう。
コードスニペット:
var feature = {
'models': [
{
'name': 'Raven',
'age': '22',
'height': '176',
'gender': 'Female',
'hair': 'Brown',
},
{
'name': 'Alex',
'age': '23',
'height': '185',
'gender': 'Male',
'hair': 'Black',
},
{
'name': 'Eden',
'age': '25',
'height': '169',
'gender': 'Female',
'hair': 'Black',
}
]
} var extract = feature.models.filter(function(el) {
return el.age < 25 && el.height >= 170;
});
console.log(extract);
出力:
ここで、feature.models.filter
はそれに応じてオブジェクトと配列にアクセスします。また、filter
メソッドが起動され、その中に制約が設定されます。
ご覧のとおり、age<25 && height>170
は、一致する可能性のあるモデルの詳細を抽出します。
矢印関数を使用して、JavaScript の属性に基づいてオブジェクト配列をフィルタリングする
矢印関数は、通常の関数構造規則の簡略化された方法です。矢印関数を使用してオブジェクト配列をフィルタリングできるかどうかを確認します。
コードスニペット:
var feature = {
'models': [
{
'name': 'Raven',
'age': '22',
'height': '176',
'gender': 'Female',
'hair': 'Brown',
},
{
'name': 'Alex',
'age': '23',
'height': '185',
'gender': 'Male',
'hair': 'Black',
},
{
'name': 'Eden',
'age': '25',
'height': '169',
'gender': 'Female',
'hair': 'Black',
}
]
} var extract = feature.models.filter(x => x.age < 25 && x.hair == 'Black');
console.log(extract);
出力:
上記のコードによると、矢印関数 filter
メソッドを使用して必要な結果を除外する方が明確です。
この手順では、属性を示すために変数(ここでは x
)のみが必要です。また、このコーディングスタイルは、コードを短縮するために使用され、最新の ES6 規則によって発行されます。
関連記事 - JavaScript Object
- JavaScript で配列からオブジェクトを検索する
- JavaScript でオブジェクトを印刷する
- JavaScript のプロパティ値で配列内のオブジェクトを検索
- JavaScript 破棄オブジェクト
- キーへの参照によるオブジェクトの値の取得
- 日付値を使用してオブジェクトの配列を単一のキーで並べ替える