filter,map : Improving readability with function reuse

by Cristi Salcescu

JavaScript

let tasks = [
  { 
    id : 1,
    type : "NC",
    desc : "task5"
  },
  { 
    id : 2,
    type : "RE",
    desc : "task3"
  },
  { 
    id : 3,
    type : "SP",
    desc : "task1"
  }
];

//imperative style
var filteredTasks = [];
for(var i=0; i<tasks.length; i++){
    let task = tasks[i];
    if (task.type === "NC") {
        filteredTasks.push(task);
    }
}
console.dir(filteredTasks);

//functional style
function isTaskOfType(type, task){
		return task.type === type;
}

var isCreateNewContent = _.partial(isTaskOfType, "NC");
var filteredTasks = tasks.filter(isCreateNewContent);
console.dir(filteredTasks);