--- id: 699c8e045ee7cb94ed2322da title: "Challenge 219: Anniversary Milestones" challengeType: 28 dashedName: challenge-219 --- # --description-- Given an integer representing the number of years a couple has been married, return their most recent anniversary milestone according to this chart: | Years Married | Milestone | | ------------- | ------------ | | 1 | `"Paper"` | | 5 | `"Wood"` | | 10 | `"Tin"` | | 25 | `"Silver"` | | 40 | `"Ruby"` | | 50 | `"Gold"` | | 60 | `"Diamond"` | | 70 | `"Platinum"` | - If they haven't reached the first milestone, return `"Newlyweds"`. # --hints-- `getMilestone(0)` should return `"Newlyweds"`. ```js assert.equal(getMilestone(0), "Newlyweds"); ``` `getMilestone(1)` should return `"Paper"`. ```js assert.equal(getMilestone(1), "Paper"); ``` `getMilestone(8)` should return `"Wood"`. ```js assert.equal(getMilestone(8), "Wood"); ``` `getMilestone(10)` should return `"Tin"`. ```js assert.equal(getMilestone(10), "Tin"); ``` `getMilestone(26)` should return `"Silver"`. ```js assert.equal(getMilestone(26), "Silver"); ``` `getMilestone(45)` should return `"Ruby"`. ```js assert.equal(getMilestone(45), "Ruby"); ``` `getMilestone(50)` should return `"Gold"`. ```js assert.equal(getMilestone(50), "Gold"); ``` `getMilestone(64)` should return `"Diamond"`. ```js assert.equal(getMilestone(64), "Diamond"); ``` `getMilestone(71)` should return `"Platinum"`. ```js assert.equal(getMilestone(71), "Platinum"); ``` # --seed-- ## --seed-contents-- ```js function getMilestone(years) { return years; } ``` # --solutions-- ```js function getMilestone(years) { if (years < 1) return "Newlyweds"; const milestones = [ [1, "Paper"], [5, "Wood"], [10, "Tin"], [25, "Silver"], [40, "Ruby"], [50, "Gold"], [60, "Diamond"], [70, "Platinum"] ]; for (let i = milestones.length - 1; i >= 0; i--) { if (years >= milestones[i][0]) { return milestones[i][1]; } } } ```