Reputation:
I'm trying to get the text from an array based on a number string.
This is the array:
const titles = [
{
level: '0',
text: 'None'
},
{
level: '1',
text: 'Bee Support'
},
{
level: '2',
text: 'Bee Staff'
},
{
level: '3',
text: 'Bee Developer'
},
{
level: '4',
text: 'Safe Number'
},
{
level: '5',
text: 'Bee Developer'
},
]
I'm trying to get the "text" based on the "level". I'm unsure how to do this, as I can't really do .includes
.
Upvotes: 0
Views: 42
Reputation: 647
Use find
const titles = [
{
level: '0',
text: 'None'
},
{
level: '1',
text: 'Bee Support'
},
{
level: '2',
text: 'Bee Staff'
},
{
level: '3',
text: 'Bee Developer'
},
{
level: '4',
text: 'Safe Number'
},
{
level: '5',
text: 'Bee Developer'
},
];
console.log(titles.find(item => item.level === "5").text)
If you have a level more than once and you want to return all elements with that level, use filter:
console.log(titles.filter(item => item.level === "5").map(item => item.text));
Upvotes: 2
Reputation: 6053
You can use filter
for this to allow for the possibility of there being multiple matches. Mozilla has a good explanation.
const titles = [
{
level: '0',
text: 'None'
},
{
level: '1',
text: 'Bee Support'
},
{
level: '2',
text: 'Bee Staff'
},
{
level: '3',
text: 'Bee Developer'
},
{
level: '4',
text: 'Safe Number'
},
{
level: '5',
text: 'Bee Developer'
},
]
let searchLevel = "3";
console.log(
titles.filter(title => title.level == searchLevel)
.map(title => title.text)
);
Upvotes: 0