Coding Tip: If you're working on a particularly large problem/feature/technical challenge, step away from the computer. Go for a walk, wash the dishes, sweep the floors - occupy yourself with something fairly routine and automatic, and just think through your problem. If you're overwhelmed and not sure where to start, try this: What does your output need to look like? (Output could be the return value of a function, the output of your application, or the UI) Does your output need to look like that? (Reframe your problem, and spend time thinking of how you might make the problem easier if the output were different from #1) Think of your input(s), and again ask: could you use more inputs, less inputs, or a different kind of input altogether? (Inputs can be function parameters, user input, etc.) Now, work outside-in, top to bottom: You have your input, what's the first thing you need to do to get the inputs in the right state? Should you filter? Should you clone the array? En