簡體   English   中英

使用過濾器時如何獲取 object 的某些屬性

[英]How to get certain property of object when using filter

我有一組對象

const array = [
  {a: 1, b:4},
  {a: 2, b:5},
  {a: 3, b:6},
]

我需要在數組中找到一個元素並只接收對象屬性的某個值。 但是我怎么能用過濾器呢? 我試過這樣做 這個沒用

  const b_Value = array.filter(element => element.a === 3).b

是否有可能在過濾器中獲取價值,而不是元素本身? 我也嘗試使用 if 和 return 但它也沒有用

.filter()返回一個數組,而不是單個元素。 您可以索引該數組:

const b_Value = array.filter(element => element.a === 3)[0].b;

或者也許使用.find()

const b_Value = array.find(element => element.a === 3).b;

當然,在任何一種情況下,如果 (1) 沒有結果匹配或 (2) 多個結果匹配,您都需要定義應該如何處理它。

例如,您可以使用可選鏈接來避免沒有匹配結果的可能性:

const b_Value = array.find(element => element.a === 3)?.b;

在這種情況下, b_Value可以是null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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