Ad
  • Custom User Avatar

    That's a good point. I chose reduce, because I preferred a declarative style for this exercise. Since the array contains only a few boxes, the performance difference is negligible. For a much larger dataset, though, I'd definitely switch to an early-exit loop. Thanks for the feedback!

  • Custom User Avatar

    The traverseBoxes uses a reduce method, that will iterate over all elements of the array, even if it finds the result on the first one. Consider:

    export function traverseBoxes(boxes: Box[], path: string[] = []): string[] {
    for (const box of boxes) {
    const result = pathToBomb(box, path);
    if (result.length > 0) return result;
    }
    return [];
    }