Example of map:
Promise.resolve([ 1, 2, 3 ]).map(el => {
return Promise.resolve(el * el) // return some async operation in real world
})
Example of filter:
Promise.resolve([ 1, 2, 3 ]).filter(el => {
return Promise.resolve(el % 2 === 0) // return some async operation in real world
}).then(console.log)
Example of reduce:
Promise.resolve([ 1, 2, 3 ]).reduce((prev, curr) => {
return Promise.resolve(prev + curr) // return some async operation in real world
}).then(console.log)