Verwenden Sie Eckige zu kopieren Objekt-Eigenschaften - ohne Werte - zu einem anderen Objekt

Wir haben versucht, eckig.kopieren und eckig.erweitern. Diese beiden, obwohl, kopieren Immobilien-Werte. Wie kopieren wir die Eigenschaften eines Objekts, ohne Ihre Werte, um ein anderes Objekt?

Hier ist ein fiddle mit unseren versuchen, basierend auf wie-zu-schnell-klar-ein javascript-Objekt.

angular.module('App', []);

function Ctrl($scope) {

    function copyNotValues(obj) {
        var newObj = angular.copy(obj);
        for (prop in newObj) {
            if(newObj.hasOwnProperty(prop))
            {
                newObj[prop] = null;
            }
        };
        return newObj;
    }

    $scope.master = {
        foo: 'original foo',
        bar: 'original bar'
    };

    $scope.copy = angular.copy($scope.master);
    $scope.extend = angular.extend($scope.master);
    $scope.copyNotValues = copyNotValues($scope.master);

}

InformationsquelleAutor Shaun Luttin | 2014-02-13

Schreibe einen Kommentar