Problems › JavaScript › orders
Does this basket ship free
The storefront shows a "free shipping" badge, but the rule has an exception for heavy baskets that finance insisted on.
- Baskets at or above the threshold ship free.
- Except that anything over 20 kg never ships free, whatever it cost.
- An empty basket does not ship free.
shipsFree(basketTotal: int, grams: int, threshold: int) → bool
Where you start
function shipsFree(basketTotal, grams, threshold) {
}
Worked examples
| Call | Result |
|---|---|
shipsFree(50000, 3000, 30000) | true |
shipsFree(50000, 25000, 30000) | false |
shipsFree(30000, 1000, 30000) | true |
shipsFree(29999, 1000, 30000) | false |
Hint
The weight rule overrides the value rule, so check it second — or check it first and return early.
Reference solution in JavaScript
function shipsFree(basketTotal, grams, threshold) {
if (basketTotal <= 0) return false;
if (grams > 20000) return false;
return basketTotal >= threshold;
}