for...in
охватывает все свойства объекта, не различая свойства самого объекта или любого из его предков.
Чтобы перейти только к свойствам, определенным для самого объекта, вы можете использовать Object.prototype.hasOwnProperty
:
const obj = { 4: 15, 10 : 41, 11 : 46, 12 : 51, 20 : 74 }
for( item in obj ) {
if(obj.hasOwnProperty(item) {
foo( obj[item] );
}
}
// will ignore the trigger func and everything else defined on any prototype