Lodash.js – defaultsDeep() function
A simple Lodash.js example of the defaultsDeep() function, which recursively assigns own enumerable properties to the source object.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" content="Tizen example"/>
<title>Tizen lodash.js example</title>
<script src="js/lodash.min.js"></script>
</head>
<body>
<div id="first">
</div>
<br>
<div id="second">
</div>
<script>
var firstDiv = document.getElementById('first');
var secondDiv = document.getElementById('second');
var firstValue = { 'user': { 'name': 'Bart' } };
firstDiv.innerHTML = "Having an object collection:<br><br>";
firstDiv.innerHTML += JSON.stringify(firstValue);
var result = _.defaultsDeep(firstValue, {'user': { 'name': 'Radoslav', 'age': 29 }} );
secondDiv.innerHTML = "...we will recursively assign own enumerable properties to the source object... <br><br>";
secondDiv.innerHTML += "...and we will get: " + JSON.stringify(result) + "<br>";
</script>
</body>
</html>