**Tell us what’s happening:**

**Your code so far**

```
function getIndexToIns(arr, num) {
// Find my place in this sorted array.
var arr1 = arr.sort();
var i;
for( i = 0;i<arr1.length ; i++) {
if(arr1[i] >= num){
break;
}
}
if(i==arr1.length){
return i++;
}else if(i < arr1.length) {
return i;
}
}
getIndexToIns([3, 10, 5], 3);
```

**Your browser information:**

Your Browser User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0`

.

**Link to the challenge:**

https://www.freecodecamp.org/challenges/where-do-i-belong

It deals okay with no repetetions but not with repetions why??

You have the right idea. The problem is your *sort* function. By default, *sort* converts to strings and sorts alphabetically. So, `[5, 3, 20, 3]`

would be sorted as `[20, 3, 3, 5]`

- not what you want.

From the Mozilla page, here is an example of sorting numbers:

```
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers);
// [1, 2, 3, 4, 5]
```

Also, the *sort* function sorts in place so you can just apply it to *arr* directly:

```
arr.sort(function(a, b) {
//...
```

and then just use *arr* everywhere. Yes, it gets a little confusing. Some methods return their value, some do it in place.

1 Like

You can use the shorter version of sort.

```
var numbers = [4, 2, 5, 1, 3];
numbers.sort((a,b) => a - b );
console.log(numbers);
```