--- id: 699c8e045ee7cb94ed2322db title: "Challenge 220: Largest Number" challengeType: 28 dashedName: challenge-220 --- # --description-- Given a string of numbers separated by various punctuation, return the largest number. - The given string will only contain numbers and separators. - Separators can be commas (`","`), exclamation points (`"!"`), question marks (`"?"`), colons (`":"`), or semi-colons (`";"`). # --hints-- `largestNumber("1,2")` should return `2`. ```js assert.equal(largestNumber("1,2"), 2); ``` `largestNumber("4;15:60,26?52!0")` should return `60`. ```js assert.equal(largestNumber("4;15:60,26?52!0"), 60); ``` `largestNumber("-402,-1032!-569:-947;-633?-800!-1012;-402,-723?-8102!-3011")` should return `-402`. ```js assert.equal(largestNumber("-402,-1032!-569:-947;-633?-800!-1012;-402,-723?-8102!-3011"), -402); ``` `largestNumber("12;-50,99.9,49.1!-10.1?88?16")` should return `99.9`. ```js assert.equal(largestNumber("12;-50,99.9,49.1!-10.1?88?16"), 99.9); ``` # --seed-- ## --seed-contents-- ```js function largestNumber(str) { return str; } ``` # --solutions-- ```js function largestNumber(str) { const numbers = str.split(/[,!?:;]/).map(Number); return Math.max(...numbers); } ```