Javascript 下划线,清除对象的所有值,但保留关键点

Javascript 下划线,清除对象的所有值,但保留关键点,javascript,angularjs,Javascript,Angularjs,我不知道这是否可行,但我正在尝试“清理”一个对象。基本的想法是我有一个对象(角度)表饲料和点击我想添加一个新行(控制对象中有一个新项,但我希望它不包含任何值。我需要使用下划线。需要考虑的是,每次进入的对象都会有不同的键值,因此我尝试保持此多态性(如果可能) 这就是我到目前为止所做的: <!-- model here for faces, could potentially not be seperate model and read off a length -->

我不知道这是否可行,但我正在尝试“清理”一个对象。基本的想法是我有一个对象(角度)表饲料和点击我想添加一个新行(控制对象中有一个新项,但我希望它不包含任何值。我需要使用下划线。需要考虑的是,每次进入的对象都会有不同的键值,因此我尝试保持此多态性(如果可能)

这就是我到目前为止所做的:

<!-- model here for faces, could potentially not be seperate model and read off a length -->
        <div class="inputRepeater" ng-repeat="face in inputFaces" ng-show="face.isCurrent" >
            <div class="trialGrid" ng-init="$faceIndex = $index">
                <table st-table="rowCollection" class="table table-striped">
                    <thead>
                    <tr>
                        <!-- table headers here - this can change if keys are not table exactly table headers with a bit of logic to change table headers to correct titles -->
                        <th ng-repeat="(key, val) in rowCollection[0]">{{key}}</th>
                    </tr>
                    </thead>
                    <tbody>
                    <!-- limit length by current face index + 1 -->
                    <tr ng-repeat="row in rowCollection | limitTo: $faceIndex + 1" ng-class=" { 'curentRowTab2' : $index == $faceIndex }">
                        <td ng-repeat="item in row">{{item}}</td>
                    </tr>
                    </tbody>
                </table>
            </div>
            <div class="stateTab2Progress"><div class="tab2ShiftLeft" ng-click="faceLeft($index)" ng-show="!$first"><i class="fa fa-angle-left"></i></div><div class="progessTitle">Title</div><div class="progessCurrent">Current Progression {{$index + 1}}/{{inputFaces.length}}</div><div class="tab2ShiftRight" ng-show="!$last" ng-click="faceRight($index)"><i class="fa fa-angle-right"></i></div><div class="tab2ShiftRight" ng-show="$last" ng-click="faceRightLast($index)"><i class="fa fa-angle-right"></i></div></div>
            <div class="state2Buttons">Buttons Also Built dynamically</div>
            <button class="tab2Finish" ng-click="startTab3()">Finish</button>
        </div>
    </div>
所以我要复制一个当前级别,然后我想清除值,保留关键点,然后推到对象上

这是可能的,还是我应该想出一个新的方法


谢谢!

如果属性为空,为什么需要属性?值应该是什么?@dandav是一个新的空行,因此如果为空,则不需要值possible@ajmajmajma与复制当前对象不同,更好的解决方案可能是创建一个函数,该函数返回一个所有值都设置为null的对象,然后无论何时需要一个新对象,都可以调用该函数ion?我同意@PatrickGunderSon如果属性为空,为什么需要属性?值应该是什么?@Dandav是一个新的空行,因此如果possible@ajmajmajma与复制当前对象不同,更好的解决方案可能是创建一个函数,该函数返回一个所有值都设置为null的对象,然后在需要新对象时可以调用该函数吗?我同意@PatrickGundersOn如果属性为空,为什么需要属性?值应该是什么?@Dandav是一个新的空行,因此如果possible@ajmajmajma与复制当前对象不同,更好的解决方案可能是创建一个函数,该函数返回一个所有值都设置为null的对象,然后在如果你创建了一个新对象,你就可以调用这个函数了?我同意@PatrickGunderSon,如果属性为空,你为什么需要属性?值应该是什么?@Dandav是一个新的空行,所以如果possible@ajmajmajma与其复制当前对象,不如创建一个函数,返回一个所有值都设置为null的对象,那么无论何时你需要一个新的对象,你都可以调用这个函数?我同意@PatrickGunderson的说法
var newObject = angular.copy(oldObject);

for(var key in newObject){
    if(newObject.hasOwnProperty(key)){
        newObject[key] = null;
    }
}
var newObject = angular.copy(oldObject);

for(var key in newObject){
    if(newObject.hasOwnProperty(key)){
        newObject[key] = null;
    }
}
var newObject = _.object(_.keys(oldObject));

_.object(_.keys({'a':1,'b':2,'c':3}))
// Object {a: undefined, b: undefined, c: undefined}