如何将ember对象的所有属性设置为null?

时间:2018-09-09 13:51:07

标签: javascript json ember.js ember-data

我有一个余烬对象'Person'。例如

        person = { 
                  name: "Rahul" , 
                  age: "29", 
                  companyDetails: { tel: "9809823897" , name: "Amazon"},
                  phone: "2377373893" 
        } 

我如何将此“人”的所有属性设置为null?我希望结果是

        person = { 
                  name: null , 
                  age: null, 
                  companyDetails: { tel: null , name: null},
                  phone: null 
        } 

2 个答案:

答案 0 :(得分:0)

您可以使用ES6功能对象传播,最简单的方法

赞:

const newPerson = { ...person, name: null, age: null, phone: null }

答案 1 :(得分:0)

如果您使用的是ES6或更高版本,则Hrimiuc的答案应该有效;但是,这是一个更古老的方法:

var obj = {
    prop1: "S",
    prop2: {
        subProp1: "h"
    }
}

var setAllToNull = function( objName ) {

    var keys = Object.keys( objName );
    for( var i = 0; i < keys.length; i++ ) {
        var currentKey = keys[ i ];
        if( Object.prototype.toString.call( objName[ currentKey ] ) === '[object Object]' ) {
            setAllToNull( objName[ currentKey ] ); 
        } else {
            if( objName.hasOwnProperty( currentKey ) ) { 
                objName[ currentKey ] = null; }
            }
        }
    } 
}

我这样做只是为了解释您想要的理论方法! :)