Как сделать нативный код на JavaScript совместимым с библиотеками/фреймворками?
все эти "ненужные" свойства добавляются через прототип, следовательно нужно проверять:for(var i in object) {
    if (!object.hasOwnProperty(i)) continue;

    // do stuff
}
в целом же для ваших задач лучше использовать старый добрый .mapvar newCollection = collection.map(function (item) {
    return JSON.stringify(item);
});
Используйте голые объекты для хранения данных.
Чтобы создать такой объект и избавить его от всей унаследованной мишуры из прототипа, делайте так:var collection = Object.create(null);
// теперь цикл по этой коллекции
for (var key in collection) {
    // будет выдавать вам то что нужно без всяких проверок
}