diff --git a/lib/musicbrainz.js b/lib/musicbrainz.js index c255752..9bd4dde 100644 --- a/lib/musicbrainz.js +++ b/lib/musicbrainz.js @@ -548,8 +548,9 @@ var Resource = function (mbid) { var self = this; this._lookup(this.id, linkedEntities, force, function (err, resource) { if ( !err ) { - for (i in self) { - self[i] = resource[i]; + for (var i = 0; i < Object.keys(self).length; i++) { + var key = Object.keys(self)[i]; + self[key] = resource[key]; } } @@ -575,9 +576,10 @@ var Resource = function (mbid) { }; this.readData = function (linkedEntities, data) { - for (var i in linkedEntities) { - if (typeof this._readDataFunctions[linkedEntities[i]] === 'function') { - this._readDataFunctions[linkedEntities[i]](data); + for(var l = 0; l < Object.keys(linkedEntities).length; l++){ + var linkedEntity = Object.keys(linkedEntities)[l]; + if (typeof this._readDataFunctions[linkedEntities[linkedEntity]] === 'function') { + this._readDataFunctions[linkedEntities[linkedEntity]](data); } } }; @@ -836,7 +838,8 @@ mb.search = function(resource, query, filter, force, callback){ uri = mbBaseURI + resource + '?query='; if(filter instanceof Object) { - for(var key in filter){ + for(var k = 0; k < Object.keys(filter).length; k++){ + var key = Object.keys(filter)[k]; filterArr.push(key + ':' + encodeURIComponent(filter[key])); } filterStr = filterArr.join( encodeURIComponent(' AND ') );