chaining array methods and arrow functions

still need to dive in on arrows

by Ken Sprague

JavaScript

//chaining array methods and arrow functions
//combining and chaining array methods and arrow functions
//person.emailindexOf('@gmail.com') > 1
//find the names of the people who have 'gmail.com' emails

var people = [
{'id':123, 'name':'Bruce Wayne', 'email':'[email protected]'},
{'id':456, 'name':'Clark Kent', 'email':'[email protected]'},
{'id':789, 'name':'Barry Allen', 'email':'[email protected]'},
{'id':135, 'name':'Joker', 'email':'[email protected]'}
];

//two step version
var replicants = people.filter(function(person){
	return person.email.indexOf('@gmail.com') > 1;
});
var names = replicants.map(function(person){
	return person.name;
})
console.log('List of replicant names:', names);

//chain two steps
var replicantNames = people.filter(function(person){
	return person.email.indexOf('@gmail.com') > 1;
}).map(function(person){
	return person.name;
});
console.log('List of replicant names:', replicantNames);

//arrow funcion version
var rn = people.filter( person => person.email.indexOf('@gmail.com')>-1)
.map( person => person.name );
console.log('List of replicant names:', rn);