【问题标题】:How to set all attributes of ember object to null ?如何将 ember 对象的所有属性设置为 null ?
【发布时间】:2018-09-09 13:51:06
【问题描述】:

我有一个 ember 对象 'Person' 。例如,

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

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

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

【问题讨论】:

    标签: javascript json ember.js ember-data


    【解决方案1】:

    你可以使用 ES6 特性对象传播,最简单的方法

    像这样:

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

    【讨论】:

    • 我需要一个函数,它将所有属性设置为 null,而不是通过硬编码将所有属性设置为 null。
    【解决方案2】:

    如果您使用的是 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; }
                }
            }
        } 
    }
    

    我给出这个只是为了解释你想要做的理论上的方式! :)

    【讨论】:

      猜你喜欢
      • 2017-07-12
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      • 2012-01-25
      • 2018-01-03
      • 2015-03-28
      相关资源
      最近更新 更多