0
I have an array of objects:
const musicData = [
{ artist: 'Adele', name: '25', sales: 1731000 },
{ artist: 'Drake', name: 'Views', sales: 1608000 },
{ artist: 'Beyonce', name: 'Lemonade', sales: 1554000 },
{ artist: 'Chris Stapleton', name: 'Traveller', sales: 1085000 },
{ artist: 'Pentatonix', name: 'A Pentatonix Christmas', sales: 904000 },
{ artist: 'Original Broadway Cast Recording',
name: 'Hamilton: An American Musical', sales: 820000 },
{ artist: 'Twenty One Pilots', name: 'Blurryface', sales: 738000 },
{ artist: 'Prince', name: 'The Very Best of Prince', sales: 668000 },
{ artist: 'Rihanna', name: 'Anti', sales: 603000 },
{ artist: 'Justin Bieber', name: 'Purpose', sales: 554000 }
];
I need to filter only names with more than 10 characters and less than 25. I made the following logic:
const results = musicData.filter((musicName) => {
const {name} = musicName
return name.length > 10 && name.length < 25
})
console.log(results);
However the return is always the array with the correct objects, but not just the names. How can I make the value of result be just the array with the names and not the whole object?
But can I do without chaining? Using only filter?
– Marcus Botelho
With only one function, I don’t think I can
filter
, with onlyreduce
.– Abdiel