each

김보영·2023년 4월 24일
0
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 = []
    each(list, val => {
        if (predi(val)) {
        	_list.push(val)
        }
    })
	return _list
}

function map(list, mapper) {
	var _list = []
	each(list, (val) => _list.push(mapper(val)))
	return _list    
}

function each(list, iter) {
	for (let i = 0; i < list.length; i++) {
    	iter(list[i])
    }
    return list
}

var result = map(
	filter(users, function(val) {
    	return val.age > 40
    }), 
	function(val) {
    	return val.name
    }
)

console.log(result)

0개의 댓글