9

コード:

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 />" )
    ...
}

出力:

301
300,299,301,290,303,304,302,310,291,306,308,305,307,292,294,295,309
-1
300

nameの可能な値はすべて配列内にありますが、何らかの理由でindexOf()がそれらを見つけることはありません。どうしたの?

4

1 に答える 1

29

代わりにこれを試してください:

...
var index = js_array.indexOf(parseInt(name, 10)); // so that it does not try to compare strings...
...
于 2013-01-29T20:58:12.390 に答える