'How to get certain property of object when using filter
I have an array of objects
const array = [
{a: 1, b:4},
{a: 2, b:5},
{a: 3, b:6},
]
And i need to find one element in array and recieve only a certain value of object's property. But how can i do it with filter. I tried to do it this way This one didn't work
const b_Value = array.filter(element => element.a === 3).b
Is it possible do get value in filter, not element itself? Also i tried to use if and return but it didnt work also
Solution 1:[1]
.filter() returns an array, not a single element. You could index that array:
const b_Value = array.filter(element => element.a === 3)[0].b;
Or perhaps use .find():
const b_Value = array.find(element => element.a === 3).b;
Of course, in either case you'll want to define how you should handle it if (1) no results match or (2) multiple results match.
For example, you might use optional chaining for the possibility of no matching results:
const b_Value = array.find(element => element.a === 3)?.b;
In which case b_Value could be null.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | David |
