untitled notebook

node v6.17.1
version: 2.0.0
endpointsharetweet
var _ = require("lodash@4.17.4")
let myGarden = [{category:'veggi', alias: 'tomato', color: 'red', isFavorite: true}, { category:'veggi', alias: 'pepper', color: 'yellow', isFavorite: true}, { category:'flower', alias: 'zinnia', color: 'red', isFavorite: true}, { category:'flower', alias: 'tulip', color: 'yellow', isFavorite: false}, { category:'pet', alias: 'dog', color: 'tri-color', isFavorite: true}, { category:'pet', alias: 'cat', color: 'black', isFavorite: true}, { category:'tool', alias: 'pruning knife', color: 'black', isFavorite: false}, { category:'tool', alias: 'planter', color: 'red', isFavorite: true}] //List your living favorites with color //Rules: one per color, ordered by color and alias //Write to console My favorites: <list of favorites> //Example: My favorites: green bean,white lilac let favorites = _.filter(myGarden, 'isFavorite'); //console.log(favorites); let living = _.reject(favorites, ['category', 'tool']); //console.log(living); let alpha = _.sortBy(living, ['color', 'alias']); //console.log(alpha); let colorGroups = _.groupBy(alpha, 'color'); //console.log(colorGroups); let firstItemArray = _.map(colorGroups, function(group) {return group[0] ;}); //console.log(firstItemArray); let transformedItems = _.map(firstItemArray, function(item){ let text = _.join([item.color, item.alias], " "); return text; }); console.log('My favorites: ' + transformedItems.toString()); //****************** Explicit chaining ************************/ let favEx = _.chain(myGarden) .filter('isFavorite') .reject(['category', 'tool']) .sortBy(['color', 'alias']) .groupBy('color') .map(function(group) {return group[0];}) .map(function(item){ let text = _.join([item.color, item.alias], " "); return text; }) .value() .toString(); console.log('My favorites: ' + favEx); //****************** Implicit chaining ************************/ let favImpl = _(myGarden) .filter('isFavorite') .reject(['category', 'tool']) .sortBy(['color', 'alias']) .groupBy('color') .map(function(group) {return group[0];}) .map(function(item){ let text = _.join([item.color, item.alias], " "); return text; }) .toString(); console.log('My favorites: ' + favImpl);
Loading…

no comments

    sign in to comment