Filter Map in JavaScript
type Student = {
name: string
age: number
}
const students: Student[] = [
{ name: 'Thanh', age: 10 },
{ name: 'Huy', age: 11 },
{ name: 'Hai', age: 14 },
{ name: 'Phong', age: 15 }
]
Use filter in JavaScript to get list name of student over 12
using .filter()
const result = students
.filter(student => student.age > 12)
.map(student => student.name)
using .reduce()
const result = students.reduce((prev, student) => {
if (student.age > 12) {
return [...prev, student.name]
}
return prev;
}, [] as string[])
using .flatMap()
const result = students.flatMap(student => {
if (student.age > 12) {
return student.name
}
return []
})
Result
console.log(result)
/* Result is: ["Hai", "Phong"] */