仅委派选定的选项?

时间:2016-10-18 08:05:12

标签: javascript

更新功能应接受选项对象。

只有当发送到更新的选项对象具有相应的属性时,才应设置传递给内部通信功能的对象的属性。

我该怎么做?

function update(options) {
    Intercom('update', {
        email: options.email || noProperty,
        user_id: options.userId || noProperty,
    });
}

2 个答案:

答案 0 :(得分:1)

您可以在调用函数之前尝试准备要更新的对象:

function update(options) {
    var toUpdate = {};
    if(options.email) {
       toUpdate.email = options.email;
    }
    if(options.userId) {
       toUpdate.user_id = options.userId;
    }
    Intercom('update', toUpdate);
}

答案 1 :(得分:0)

使用options.hasOwnProperty(prop)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty

如果属性存在,hasOwnProperty函数将返回true,否则返回false。