For deeper understanding purpose i used val.key instead of val[ ] at function extractKey which i thought would give me [ name, name, name, name ] as result but instead i get [undefined, undefined, undefined, undefined] Why is this ? :
function extractKey(arr, key){
return arr.map(function(val){
    return val.key;
})
}    
extractKey([{name: 'Elie'}, {name: 'Tim'}, {name: 'Matt'}, {name: 
'Colt'}], 'name') // ['Elie', 'Tim', 'Matt', 'Colt']
(4) [undefined, undefined, undefined, undefined]  
 
    