JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのforループで奇数のCustomerIdを持つレコードを抽出する方法

本記事では、JavaScriptでオブジェクトの配列を for ループを使って反復処理し、その中から奇数のCustomerIdを持つレコードだけを取り出して表示する方法を解説します。

サンプルデータ(顧客情報オブジェクト)

まず、次のような顧客情報を格納したオブジェクトの配列を用意します。

var customerDetails = [
  {
    customerId: 101,
    customerName: "John"
  },
  {
    customerId: 102,
    customerName: "David"
  },
  {
    customerId: 103,
    customerName: "Mike"
  },
  {
    customerId: 104,
    customerName: "Bob"
  }
];

奇数のCustomerIdを判定する条件式

CustomerIdが奇数かどうかは、剰余演算子(%)を使って判定できます。値を2で割った余りが0でなければ、その数値は奇数です。

for ループの中で次のような条件式を使用します。

for (var index = 0; index < customerDetails.length; index++) {
  if (customerDetails[index].customerId % 2 != 0) {
    // 奇数のCustomerIdを持つレコードに対する処理
  }
}
  • customerDetails.length:配列の要素数を取得します。
  • customerDetails[index].customerId % 2 != 0:CustomerIdを2で割った余りが0以外の場合(=奇数の場合)に条件が成立します。

完全なサンプルコード

以下は、上記のロジックを組み合わせた完全なプログラム例です。条件に一致したレコードのみ、console.log() でコンソールに出力します。

var customerDetails = [
  {
    customerId: 101,
    customerName: "John"
  },
  {
    customerId: 102,
    customerName: "David"
  },
  {
    customerId: 103,
    customerName: "Mike"
  },
  {
    customerId: 104,
    customerName: "Bob"
  }
];

for (var index = 0; index < customerDetails.length; index++) {
  if (customerDetails[index].customerId % 2 != 0) {
    console.log("Customer Id=" + customerDetails[index].customerId);
    console.log("Customer Name=" + customerDetails[index].customerName);
    console.log("-----------------------------------------------------------");
  }
  console.log("");
}

プログラムの実行方法

Node.js環境でこのプログラムを実行するには、ターミナルまたはコマンドプロンプトで以下のコマンドを入力します。

node fileName.js

ここでは、ファイル名を demo71.js として保存した場合の実行例を示します。

実行結果(出力)

上記のプログラムを実行すると、以下のような出力が得られます。CustomerIdが101と103という奇数のレコードだけが表示されていることが確認できます。

PS C:\Users\Amit\JavaScript-code> node demo71.js
Customer Id=101
Customer Name=John
-----------------------------------------------------------
Customer Id=103
Customer Name=Mike
-----------------------------------------------------------

まとめ

このように、for ループと剰余演算子(%)を組み合わせることで、オブジェクトの配列から特定の条件(ここでは奇数のCustomerId)を満たすレコードを簡単に抽出できます。なお、より現代的な書き方としては、filter() メソッドを使う方法もあり、customerDetails.filter(c => c.customerId % 2 !== 0) のように簡潔に記述することも可能です。

  1. JavaScriptのforループを使って空のオブジェクトにプロパティを設定する方法

    JavaScriptでは、for...inループを使うことで、既存のオブジェクトから空のオブジェクトへプロパティを簡単にコピーできます。以下に、forループを使用して空のオブジェクトにプロパティを設定するサンプルコードを紹介します。 コード例 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,

  2. 【JavaScript入門】Symbolを使ってオブジェクトごとに一意のIDを作成する方法

    はじめにJavaScriptでオブジェクトごとに一意のIDを作成したい場合、Symbol()を使うのが最も簡単かつ確実な方法です。Symbolは呼び出されるたびに必ず新しい一意の値を生成するため、たとえ同じ説明文字列を渡しても、二度と同じ値にはなりません。以下は、各オブジェクトに対して一意のIDを作成するサンプルコードです。実装例<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewp