What is the best to select a javascript object property at any depth?
From a once over:


getMappedDataProperty is a clumsy name, how about getProperty.
receiving a string is functionally the same as an array with 1 entry, so you could 
map = (typeof map === 'string') ? [map] : map;
There is no need for the underscores for i and len, also, I would rather see length than len
the use of the temporary variable m is overkill, you could go straight for result = result[map[i]];


I would counter propose:

getProperty: function( o, map ) 
{
  map = (typeof map === 'string') ? [map] : map.slice();
  var result = o;
  while ( map.length ) {
    result = result[ map.shift() ];
  }
  return result;
}


I would love to know the context in which you use this, since I cannot see a good use case for it.