JSFiddle - React, Tailwind, and code Playground

merge to objects in java script

by Oliver

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.6/angular.min.js"></script>
<div data-ng-app="myApp" ng-strict-di>
    <div data-ng-controller="myController">
        <tt>{{currentElement}}</tt>
    </div>
</div>

JavaScript

var app = angular.module('myApp', [])

app.controller('myController', ['$scope', function($scope) {
    function removeNullIn(prop, obj) {
        var pr = obj[prop];
        if (pr === null || pr === undefined) delete obj[prop];
        else if (typeof pr === 'object')
            for (var i in pr) removeNullIn(i, pr);
    }

    function removeNull(obj) {
        for (var i in obj) {
            removeNullIn(i, obj);
        }
    }

    var dataObjOne = {
        id: 12,
        name: 'something',
        dimensions: {
            width: 100,
            height: 150
        }
    };
    var dataObjTwo = {
        id: undefined,
        name: undefined,
        dimensions: {
            width: null,
            depth: 23
        }
    };

    $scope.currentElement = {};
    removeNull(dataObjTwo);
    angular.merge($scope.currentElement, dataObjOne, dataObjTwo);
}]);