var users = [
{name: 'BY', age: 45},
{name: 'SJ', age: 26},
{name: 'ES', age: 27},
{name: 'YJ', age: 49},
{name: 'DH', age: 42},
{name: 'JE', age: 37},
{name: 'YH', age: 48},
]
function filter(list, predi) {
var _list = []
for (let i = 0; i < list.length; i++) {
if (predi(list[i])) {
_list.push(list[i])
}
}
return _list
}
function map(list, mapper) {
var _list = []
for (let i = 0; i < list.length; i++) {
_list.push(mapper(list[i]))
}
return _list
}
const result = map(
filter(users, function(val) {
return val.age > 40
}),
function(val) {
return val.name
}
)
console.log(result)