I have the following code:
const createSpaces = () => {
return Array(constants.SPACES)
.fill(null)
.map((_, index) => ({
desk: index,
isDeskAvailable: true,
timeOccupied: 0,
}));
};
and a function to update it:
markDeskAvailable(deskRequested: number) {
const occupiedDesk = spaces.find(
(space) => space.desk === deskRequested
);
if (!occupiedDesk) {
throw new Error("Desk does not exist.");
}
return {
...occupiedDesk,
isDeskAvailable: true,
timeOccupied: 0
}
};
This doesn't throw an error, but my spaces array of objects doesn't update when I do:
const office = createSpaces();
carPark.markDeskAvailable(0);
console.log(office.getSpaces()); // Just returns the spaces
What am I doing wrong here? The object should have changed its properties.