index.js
function get (obj, keys, _default) {
  var i
  var key
  var tmp = obj || {}

  keys = _splitPath(keys)

  if (!keys || keys.length === 0) {
    return _default
  }

  for (i = 0; i < keys.length; i++) {
    key = keys[i]
    if (tmp && tmp.hasOwnProperty(key)) {
      tmp = tmp[key]
    } else {
      return _default
    }
  }
  return tmp
}
function get (obj, keys, _default) {
  var i
  var key
  var tmp = obj || {}

  keys = _splitPath(keys)

  if (!keys || keys.length === 0) {
    return _default
  }

  for (i = 0; i < keys.length; i++) {
    key = keys[i]
    if (tmp && tmp.hasOwnProperty(key)) {
      tmp = tmp[key]
    } else {
      return _default
    }
  }
  return tmp
}
function get ( obj , keys , _default ) { var i var key var tmp = obj || { } keys = _splitPath ( keys ) if ( ! keys || keys . length === 0 ) { return _default } for ( i = 0 ; i < keys . length ; i ++ ) { key = keys [ i ] if ( tmp && tmp . hasOwnProperty ( key ) ) { tmp = tmp [ key ] } else { return _default } } return tmp }
get properties from `obj`


#### Example

```js
var r,
get = require('mergee').get,
obj = { a: { b: { c: 1 } } };
r = get(obj, ['a', 'b', 'c']);
// r = 1
r = get(obj, 'a.b');
// r = { c: 1 }
r = get(obj, 'there.is.no.such.property'); // this will not throw!
// r = undefined
```

@param {Object} obj - object to select from
@param {Array|String} keys - Array of properties or dot separated string of properties; If using a String avoid using property names containing a `.`
@return {Object} selected object
get properties from obj