Mootools является прототипом.
var champs = ['surfaceMaison','surfaceGarage','terrasseCouverte','terrasseNonCouverte','cloture'];
var prix = ['pack','valeur','valeur','valeur'];
var options = ['toitureMultipentes','doucheItalienne','wcSuspendu','enduitTaloche','voletsRoulants','climGainable'];
// and..
for (var i in champs)
for (var i in options)
не годится, он пойдет вверх по цепочке прототипов и получит то, что mootools добавляет к прототипу Array.
в общем, for var in object
как конструкция всегда предназначалась для ОБЪЕКТОВ, а не массивов. это работает в любом случае, потому что в javascript у вас нет правильного типа Array, это просто тип объекта с массивными свойствами (например, длина).
зацикливает массивы через options.each(function(el, i) {}
или вместо обычного цикла for.
также вы можете проверить на hasOwnProperty
:
for (var i in champs)
if (champs.hasOwnProperty(i)) {
// do the stuff
}