2016-10-18 4 views
0

更新機能はオプションオブジェクトを受け入れる必要があります。選択したオプションのみを委任しますか?

インターコム機能に渡されるオブジェクトのプロパティは、更新するために送信されたオプションオブジェクトに対応するプロパティがある場合にのみ設定する必要があります。

どうすればいいですか?プロパティが存在し、それ以外の場合はfalse場合

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

あなたのコードは、すでにこれをやっているように見えます。例えば。 options.emailが設定されている場合にのみ、emailはoptions.emailに設定され、そうでない場合はnoPropertyの値が使用されます。 – MasNotsram

+0

アンダースコアなどのユーティリティライブラリを使用することをお勧めします。デフォルト値にフォールバックできる適切な方法があります。それ以外の場合は、ループを使用して独自のループを作成する必要があります。 – hindmost

答えて

1

あなたは関数を呼び出す前に更新するために、オブジェクトを準備試みることができる:

function update(options) { 
    var toUpdate = {}; 
    if(options.email) { 
     toUpdate.email = options.email; 
    } 
    if(options.userId) { 
     toUpdate.user_id = options.userId; 
    } 
    Intercom('update', toUpdate); 
} 
関連する問題