LoginSignup
1
1

More than 1 year has passed since last update.

配列内のオブジェクト(連想配列)から 検索・取得

Last updated at Posted at 2022-06-05

初めに

配列内にある、オブジェクト(連想配列)の中から、「指定の値が入っているオブジェクトのみ」を取得したい。

今回は、name:Bobのオブジェクトを取得してみます。

const users = [
  { id: '101', name: 'Alice' },
  { id: '102', name: 'Bob' },
  { id: '103', name: 'Charlie' },
];

findメソッドを使う

下記コード、nameの値が、Bobのオブジェクトを取得

                   //対象の配列.find((引数) => 引数.key名 === 検索したい値)
const targetUser = users.find((v) => v.name === 'Bob');

console.log(targetUser);
//出力結果  { id: '102', name: 'Bob' }

今回は、nameで検索していますが、もちろんid:や他のkeyでも検索できます!

[おまけ] 指定のデータの有無 を確認

指定のデータの有無を確認し、「存在した場合」と「存在しなかった場合」に処理を分ける方法です。

const users = [
    {id: 1, name: "田中"},
    {id: 1, name: "鈴木"},
    {id: 1, name: "山田"}
];

const result = users.some((u) => u.name === "田中");
if (result) {
    //データが存在した場合の処理
    console.log("あった");
} else {
        // データが存在しなかった時の処理
    console.log("無かった");
}

終わりに

同じ値が複数あった場合等は、今回完全に無視しています。手っ取り早くということで。。。
その場合の代替としてfilter()を使う方法があるらしい。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1