課題
以下のようなオブジェクトがあるとします。
const obj = {
"data": [
{
"first_name": "田中",
"last_name": "太郎"
},
{
"first_name": "鈴木",
"last_name": "次郎"
},
{
"first_name": "佐藤",
"last_name": "三郎"
}
]
}
オブジェクトの同じ階層の別のキーの値を取得したい。
例えば、田中
という値から、太郎
という値を取得
解決方法
const keyword = "田中"
const result = obj.data.filter(x=>x.first_name==keyword).map(x=>x.last_name)[0]??null;
console.log(result);
// 太郎
一般化 & 関数化する
const find = (data, keyword, key1, key2) => {
return data.filter(x=>x[key1]==keyword).map(x=>x[key2])[0]??null;
}
find(obj.data, "田中", "first_name", "last_name")
// 太郎