このような配列inオブジェクトからある値があるかどうかチェックしたいときってありますよね。この値があったらデータベースに値を書き込むみたいな。
このlistに田中くんはいるか!
const list = [
{
age: 5,
name: "田中くん"
},
{
age: 10,
name: "鈴木くん"
},
{
age: 10,
name: "渡辺くん"
}
];
ループでくるくる回すのもありですが、ここはスマートに行きたいのでArray.prototype.some()を使います。
Array.prototype.some()
は配列しかチェックできないので空の配列を作って、それでやればなんとかできそうですね。
というわけで、こんな感じはどうでしょう。
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
きちんとチェックできました!!!