我有一系列物件
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和回傳,但它也沒有作業
uj5u.com熱心網友回復:
.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。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/451889.html
標籤:javascript 筛选
上一篇:JavaScript將遞回遞減
