shou.com
JP / EN

JavaScript 配列の中にあるオブジェクトに値があるかチェックする

Thu Oct 13, 2022
Thu Oct 13, 2022

このような配列inオブジェクトからある値があるかどうかチェックしたいときってありますよね。この値があったらデータベースに値を書き込むみたいな。

このlistに田中くんはいるか!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
const list = [
  {
    age: 5,
    name: "田中くん"
  },
  {
    age: 10,
    name: "鈴木くん"
  },
  {
    age: 10,
    name: "渡辺くん"
  }
];

ループでくるくる回すのもありですが、ここはスマートに行きたいのでArray.prototype.some()を使います。

Array.prototype.some()は配列しかチェックできないので空の配列を作って、それでやればなんとかできそうですね。

というわけで、こんな感じはどうでしょう。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
const list = [
  {
    age: 5,
    name: "田中くん"
  },
  {
    age: 10,
    name: "鈴木くん"
  },
  {
    age: 10,
    name: "渡辺くん"
  }
];
const someArray = [];
for (const e of list) {
  someArray.push(e.name);
}
const result = someArray.some((value) => value === "田中くん");
console.log(result);

>> true

きちんとチェックできました!!!

See Also