JavaScriptのfilter()メソッドで複数オブジェクトのJSONデータを効率的に絞り込む方法
JavaScriptでは、配列に含まれる複数のオブジェクト(JSONデータ)を条件に応じて絞り込む際、filter()メソッドと比較演算子==(または===)を組み合わせて使用するのが一般的です。filter()は、指定したコールバック関数がtrueを返す要素だけを集めた新しい配列を生成するため、元のデータを壊すことなく安全にフィルタリングできます。
サンプルコード
以下は、学生情報を格納したJSON形式の配列から、studentNameが「David」であるオブジェクトだけを抽出する例です。
const jsonObject = [
{
studentId: 101,
studentName: "David"
},
{
studentId: 102,
studentName: "Mike"
},
{
studentId: 103,
studentName: "David"
},
{
studentId: 104,
studentName: "Bob"
}
]
var result = jsonObject.filter(obj => obj.studentName == "David");
console.log(result);プログラムの実行方法
Node.js環境で上記のプログラムを実行するには、ターミナルまたはコマンドプロンプトで以下のコマンドを入力します。
node ファイル名.js
実行結果
ここではファイル名をdemo194.jsとして保存しています。実行すると、以下のように「David」という名前を持つ2つのオブジェクトが出力されます。
PS C:\Users\Amit\javascript-code> node demo194.js
[
{ studentId: 101, studentName: 'David' },
{ studentId: 103, studentName: 'David' }
]filter()メソッドのポイント
- 元の配列は変更されない:
filter()は新しい配列を返すため、非破壊的な処理が可能です。 - 厳密等価演算子の推奨:
==よりも型変換を行わない===を使用することで、意図しないバグを防げます。 - 条件は自由にカスタマイズ可能:複数条件を組み合わせる場合は、
&&や||を使ってコールバック関数内に記述できます。例えば「studentIdが102以上かつstudentNameがMike」のような条件も簡単に実現できます。
このようにfilter()メソッドを活用すれば、大量のJSONデータから必要なレコードだけを簡潔かつ効率的に取り出すことができます。
-
データバックアップの正しい方法とは?3-2-1ルールで大切なデータを守る
現代のIT社会において、包括的なバックアップ戦略を持つことは不可欠です。データが失われる原因は数多く存在し、バックアップを適切に行う方法を理解することは、深刻な事態を回避するために極めて重要です。では、具体的にどのようにデータをバックアップすればよいのでしょうか?データ損失のリスクサイバー攻撃、内部犯行、自然災害、記録メディアの破損、人的ミスなど、データを失う要因は枚挙にいとまがありません。個人にとってデータ損失は煩わしく心を痛める出来事ですが、企業にとっては取り返しのつかない結果をもたらしかねません。Consoltechによる以下の衝撃的な統計をご覧ください。重大なデータ損失を経験した企業の
-
Excelのフィルター機能を使いこなそう!基本から応用まで徹底解説
前回、Excelの集計関数を使って大量のデータを簡単にまとめる方法をご紹介しましたが、あの記事ではワークシート上のすべてのデータが対象でした。では、データの一部だけを抽出し、その抽出したデータだけを集計したい場合はどうすればよいのでしょうか? Excelでは、列にフィルターを設定することで、条件に一致しない行を自動的に非表示にできます。さらに、特殊な関数を使えば、フィルターで表示中のデータだけを対象に集計することも可能です。 本記事では、Excelでフィルターを作成する手順と、組み込み関数を使ってフィルター後のデータを集計する方法を、順を追って詳しく解説していきます。 Excelでシンプルなフ