Суть в следующем: в приложении есть много JS кода который работает с массивами, код такого вида:
for(var key in collection){
newCollection.push(JSON.stringify(collection[key]));
}
Как правило, в массиве находится только то, что нам нужно, например строки. Но когда на страницу добавляется Mootools, он расширяет любой массив кучей дополнительных функций (типа clean, getLast и т.д), и такой цикл начинает проходить не только по элементам массива, но и по этим функциям. В результате приложение падает.
Пока что была добавлена обычная проверка типа данных таким методом:
for(var key in collection){
if(typeof collection[key] !== 'object') {continue;} // добавлена проверка
newCollection.push(JSON.stringify(collection[key]));
}
Нормальное ли это решение, или есть что то по элегантнее?