Le Javascript .indexOf ne fonctionne pas sur un tableau int
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 />" )
...
}
De sortie:
301
300,299,301,290,303,304,302,310,291,306,308,305,307,292,294,295,309
-1
300
Toutes les valeurs possibles de nom dans le tableau, mais pour une raison quelconque indexOf() ne jamais trouve. Whats up?
Êtes-vous la comparaison de nombres en chaînes?
aucun nom n'est un int
Ce n'est pas le problème que vous cherchez à voir ici, mais il est intéressant de souligner que
Oui, je sais. Espérons qu'il ne sera pas trop un problème
Que stackoverflow lien a un polyfill pour ajouter le support pour
aucun nom n'est un int
Ce n'est pas le problème que vous cherchez à voir ici, mais il est intéressant de souligner que
Array.indexOf()
n'est pas disponible sur IE8 et inférieur. Voir ici: stackoverflow.com/questions/2790001/....Oui, je sais. Espérons qu'il ne sera pas trop un problème
Que stackoverflow lien a un polyfill pour ajouter le support pour
Array.indexOf()
pour IE6-8 si vous en avez besoin. Je préfère pour prendre en charge uniquement IE9 et maintenant-a-jours, mais il y a encore beaucoup de IE8 gens là-bas.OriginalL'auteur gta0004 | 2013-01-29
Vous devez vous connecter pour publier un commentaire.
Essayez plutôt ceci:
heureux de vous aider ^_^
Apparemment,
name
n'est pas un int.sortie
typeof name
et votre allons le voir ^_^Ou, tout simplement jeté la clé Int:
array.indexOf(+name)
.OriginalL'auteur Neal