Lodash get

by findango

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
<script>
function stringify(value) {
	return (
  	typeof value === 'undefined' ? 'undefined' :
    typeof value === 'object' ? JSON.stringify(value, null, 2) :
    value
  );
}

function log() {
    var args = Array.prototype.slice.call(arguments, 0);
    document.getElementById('output').innerHTML += args.map(stringify).join(" ") + "\n";
}
</script>

<pre id="output"></pre>

JavaScript

const obj = {
    one: 1,
    two: 2,
    three: {
        a: '3.a',
        b: '3.b'
    }
};

log(_.get(obj, 'two'));
log(_.get(obj, 'three.a'));
log(_.get(obj, 'uhoh'));
log(_.get(undefined, 'safe?'));

log("\n-----");
const str = '?something';
log(1, _.replace(str, '?', ''));
log(2, _.replace(str, /^\?/, ''));
log(3, _.replace(undefined, '?', ''));

log("\n-----");
log('split', 'foo&bar'.split('&'));
log('split', ''.split('&'));

log("\n-----");
const arr = ["one", "two", "three"];
log(_.get(arr, 2));
log(_.get(arr, 5));
log(_.get(arr, 5, "not found"));
log(_.get(undefined, "1"));