Skip to content

Instantly share code, notes, and snippets.

@craigzour
Created September 9, 2022 12:41
Show Gist options
  • Save craigzour/ece7547d75f88832c618ddf45c95ae64 to your computer and use it in GitHub Desktop.
Save craigzour/ece7547d75f88832c618ddf45c95ae64 to your computer and use it in GitHub Desktop.
ex2
const formResponses = [{Status: "New", CreatedAt: 1662477251}, {Status: "Saved", CreatedAt: 1662477251}];
const results = formResponses.reduce((acc, current) => {
if (current.Status === "New") {
// responseAge is defined using the same day diff logic that can be found in the previous phase
if (responseAge > 25) return { ...acc, NumberOfUnsavedResponsesBeyond25Days: acc.NumberOfUnsavedResponsesBeyond25Days + 1 };
else if (responseAge > 13) return { ...acc, NumberOfUnsavedResponsesBeyond13Days: acc.NumberOfUnsavedResponsesBeyond13Days + 1 };
} else if (current.Status === "Saved") {
if (responseAge > 25) return { ...acc, NumberOfUnconfirmedResponsesBeyond25Days: acc.NumberOfUnconfirmedResponsesBeyond25Days + 1 };
else if (responseAge > 13) return { ...acc, NumberOfUnconfirmedResponsesBeyond13Days: acc.NumberOfUnconfirmedResponsesBeyond13Days + 1 };
}
return acc;
}, { NumberOfUnsavedResponsesBeyond13Days: 0, NumberOfUnconfirmedResponsesBeyond13Days: 0, NumberOfUnsavedResponsesBeyond25Days: 0, NumberOfUnconfirmedResponsesBeyond25Days: 0 });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment