# Where do I belong- basic algorithm script problem(1)

Tell us what’s happening:
Hello, I am currently doing this challenge and the solution I have written seems to solve most of the challenge pass example but a few.

I would like some input on where I might have gone astray in the below solution.

``````  **Your code so far**
``````
``````
function getIndexToIns(arr, num) {
arr.sort((a, b) => a - b)
for (let i = 0; i < arr.length; i++) {
if(arr[i] <= num){
return arr.indexOf(num);
}
}
return num;
}

getIndexToIns([40, 60], 50);
``````
``````  **Your browser information:**
``````

User Agent is: `Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36`.

Challenge: Where do I Belong

``````return arr.indexOf(num);
``````

What do you expect to happen at this line?

to return the position of num in arr.

Well then you’ve got a bug because the number `num` is not guaranteed to be found in the array `arr`. In that case, `indexOf` will return `-1`.

You do not need to be using `indexOf` in the for loop, you already have access to the index as `i`. Making that change will increase performance, and it cannot cause the current bug, it however will not make your code pass as you if statement is not what you should be checking for and your final return value is incorrect.

the other is, what if `num` is smaller than everything?

I’m trying to understand what you mean by the if statement isn’t what I should be checcking for.

I have rectified that mistake with an else statement.

If num is less than or equal to the current element then you want return the index of that element, but you are currently saying to do that if num is greater than or equal to.

“ For example, `getIndexToIns([1,2,3,4], 1.5)` should return `1` because it is greater than `1` (index 0), but less than `2` (index 1)” That is what this is saying although its saying it such that if `arr[i]` is greater than or equal to `num` then you should return the index value of this element, and this is the same as saying if `num` is less than or equal to `arr[i]`

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.