簡體   English   中英

返回數組中的對象屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM