← Back to notes

Filter Map in JavaScript

javascripttypescript
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"] */