# JavaScript: Get humanized number with the correct suffix

## JavaScript String: Exercise-45 with Solution

Write a JavaScript function to get humanized number with the correct suffix such as 1st, 2nd, 3rd or 4th.

Test Data:
console.log(humanize(1));
console.log(humanize(20));
console.log(humanize(302));
"1st"
"20th"
"302nd"

Sample Solution:-

HTML Code:

``````<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>JavaScript function to get humanized number with the correct suffix</title>
<body>

</body>
</html>
```
```

JavaScript Code:

``````function humanize(number) {
if(number % 100 >= 11 && number % 100 <= 13)
return number + "th";

switch(number % 10) {
case 1: return number + "st";
case 2: return number + "nd";
case 3: return number + "rd";
}

return number + "th";
}
console.log(humanize(1));
console.log(humanize(20));
console.log(humanize(302));
```
```

Sample Output:

```1st
20th
302nd
```

Flowchart:

Live Demo:

See the Pen JavaScript Get humanized number with the correct suffix-string-ex-45 by w3resource (@w3resource) on CodePen.

Improve this sample solution and post your code through Disqus

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿

## JavaScript: Tips of the Day

object keys

```const obj = { 1: 'a', 2: 'b', 3: 'c' };
const set = new Set([1, 2, 3, 4, 5]);

obj.hasOwnProperty('1');
obj.hasOwnProperty(1);
set.has('1');
set.has(1);
```

All object keys (excluding Symbols) are strings under the hood, even if you don't type it yourself as a string. This is why obj.hasOwnProperty('1') also returns true.
It doesn't work that way for a set. There is no '1' in our set: set.has('1') returns false. It has the numeric type 1, set.has(1) returns true.

Ref: https://bit.ly/323Y0P6