[英]return object property in array
我有一個看起來像這樣的數組:
const arr = [{
name: 'One',
id: 1
},
{
name: 'Two',
id: 2
}
];
然后,如果 id 匹配,我只想返回對象的名稱。
我嘗試過類似以下的操作,但它以數組形式返回整個對象:
const arr = [{ name: 'One', id: 1 }, { name: 'Two', id: 2 } ]; const getNameFromId = id => { return arr.filter(item => { if (item.id === id) { return item.name; } }) } const res = getNameFromId(1) // This should return `'One'` console.log(res)
您可能更喜歡使用find
代替。
const id = 2
arr.find(val => val.id === id).name
你應該檢查find
返回一個值
const getNameFromId = id => {
const search = arr.find(val => val.id === id)
if (search) {
return search.name
}
}
如果您使用filter
(它返回一個數組),您可以從第一個元素中獲取name
。 find
,在另一個答案中提到的find
可能更適合您的需求。
const arr = [{ name: 'One', id: 1 }, { name: 'Two', id: 2} ]; const getNameFromId = (id) => { return arr.filter(item => item.id === id)[0].name; } const res = getNameFromId(1) console.log(res)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.