Code:
function showlayer(name){
var size = js_array.length
var index = js_array.indexOf(name);
var plusOne = js_array[index+1];
document.write("" + name + "<br />" + js_array + "<br />" + index + "<br />" +
plusOne + "<br />" )
...
}
Output:
301
300,299,301,290,303,304,302,310,291,306,308,305,307,292,294,295,309
-1
300
All possible values of name are in the array, but for some reason indexOf() never finds them. Whats up?
Code:
function showlayer(name){
var size = js_array.length
var index = js_array.indexOf(name);
var plusOne = js_array[index+1];
document.write("" + name + "<br />" + js_array + "<br />" + index + "<br />" +
plusOne + "<br />" )
...
}
Output:
301
300,299,301,290,303,304,302,310,291,306,308,305,307,292,294,295,309
-1
300
All possible values of name are in the array, but for some reason indexOf() never finds them. Whats up?
Share Improve this question asked Jan 29, 2013 at 20:56 gta0004gta0004 5084 gold badges11 silver badges29 bronze badges 4 |1 Answer
Reset to default 29Try this instead:
...
var index = js_array.indexOf(parseInt(name, 10)); // so that it does not try to compare strings...
...
Array.indexOf()
isn't available on IE8 and lower. See here: stackoverflow.com/questions/2790001/…. – pseudosavant Commented Jan 29, 2013 at 21:45Array.indexOf()
to IE6-8 if you need it. I prefer to only support IE9 and up now-a-days, but there are still a lot of IE8 people out there. – pseudosavant Commented Jan 30, 2013 at 17:31