Ceci est si simple que je suis déconcerté. Je donne les résultats suivants:JavaScript Array Iteration retournant plus que des valeurs
var x = 'shrimp';
var stypes = new Array('shrimp', 'crabs', 'oysters', 'fin_fish', 'crawfish', 'alligator');
for (t in stypes) {
if (stypes[t] != x) {
alert(stypes[t]);
}
}
Une fois les valeurs itérées il commence à renvoyer une douzaine de fonctions comme
function (iterator, context) {
var index = 0;
iterator = iterator.bind(context);
try {
this._each(function (value) {iterator(value, index++);});
} catch (e) {
if (e != $break) {
throw e;
}
}
return this;
}
Que diable se passe? Edit: Dans ces scripts j'utilise http://script.aculo.us/prototype.js et http://script.aculo.us/scriptaculous.js Je me souviens maintenant de lire sur la façon dont le prototype étend les tableaux et je parie que cela en fait partie. Comment puis-je y faire face?
J'étais sur le point de dire ... que le code fonctionne bien pour moi, quelque chose doit avoir prototypé Array différemment. J'irais avec la réponse de Quintin. – womp