var users = [
{ id: 1, name: 'name1', age: 16 },
{ id: 2, name: 'name2', age: 36 },
{ id: 5, name: 'name3', age: 46 },
{ id: 4, name: 'name4', age: 56 },
{ id: 9, name: 'name5', age: 66 },
{ id: 7, name: 'name6', age: 76 },
]
function _filter(users, predi) {
var new_users = []
for (var i = 0; i < users.length; i++) {
if (predi(users[i])) {
new_users.push(users[i]);
}
}
return new_users;
}
function _map(list, mapper) {
var new_list = [];
for (var i = 0; i < list.length; i++) {
new_list.push(mapper(list[i]));
}
return new_list;
}
function _each(list, iter) {
for (var i = 0; i < list.length; i++) {
iter(list[i]);
}
return list;
}
var over_30 = _filter(users, function (user) {
return user.age >= 30;
});
console.log(over_30);
var names = _map(over_30, function (user) {
return user.name;
})
console.log(names);
var under_30 = _filter(users, function (user) {
return user.age < 30;
});
console.log(under_30);
var ages = _map(under_30, function (user) {
return user.age;
})
console.log(ages)
console.log(
_map(
_filter(users, function (user) {
return user.age >= 30;
}), function (user) { return user.name; }
)
)