Read your first useful function
Trace an input through code to its output.
16 minutes
Name the contract
A function is a named operation with inputs and a result. Here, openSessions takes an array of session objects and returns a new array containing sessions with no facilitator. The original array stays unchanged.
Trace one record
For session A, facilitator is an empty string. The comparison evaluates to true, so filter keeps it. For B, facilitator is “Sam”, so filter drops it. Read code using concrete values before reaching for abstract vocabulary.
javascript
const sessions = [
{ id: "A", title: "Skills lab", facilitator: "" },
{ id: "B", title: "Journal club", facilitator: "Sam" }
];
function openSessions(items) {
return items.filter(item => item.facilitator === "");
}
console.log(openSessions(sessions));