2017-02-21 3 views
0

私は崇高テキストが「キー」パラメータが使用されていないことをコードパラメータ値が置き換えられないのはなぜですか?

function(memo, value, key) { 
    if (!!value) { 
     memo.push({ 
     'property': 'loopbackFilter', 
     'value': { 
      key : { 
      'like' : '%' + value + '%' 
      } 
     } 
     }); 
    } 
    return memo; 
    } 

のこのスニペットを言っているし、実際にその結果JSONオブジェクトは

"where": { 
    "key": { <--- key is literally "key" 
    "like": "%value%" (VALUE is an actual value, so it works here) 
    } 
} 

これはなぜ起こるのでしょうか?

答えて

0

JSオブジェクトリテラルは、JSONオブジェクトとは異なります:JavaScriptでは、あなたは、プロパティ名を引用する必要はありません。computed property namesについては

var obj = { foo: "bar" } 

は、ブラケットの構文を使用します。

[key] : { 
    'like' : '%' + value + '%' 
} 

をも注意してくださいは、これがES6の機能であることを示します。

+0

ポインタだけでは、現在のところ担当者が不足していますが、取得すると**応答する代わりに**閉じるようにしてください。 – Rajesh

+0

申し訳ありませんが、ヒントありがとう! –

+0

答えをありがとう、 これを行う別の方法はありますか? コンパイルしようとするとアプリケーションがクラッシュし、EC6の唯一の解決策だと思います。 – ITKinq

関連する問題