2016-11-10 5 views
0

JSONに新しいプロパティ呼び出しのfillを追加しようとしています。しかし、関数が定義されていないというエラーが表示されます。 this句を使用しても同じエラーが表示されました。 ここに私のデータです。JSONオブジェクト内の関数を呼び出す

[{ key: 1, fill:this.fillcolor(mytext),text: mytext }] 

fillColor関数は、渡されたテキスト名に応じてカラーコードを返します。

fillColor = (data) => { 

     switch (data) { 
      case 'NMP': 
       return 'indigo400'; 
      break; 
      case 'KPD': 
       return 'pinkA200'; 
      break; 
      case 'NMV': 
       return 'orangeA400'; 
      break; 
      case 'KRV': 
       return 'lightBlue400'; 
      break; 
      case 'NIP': 
       return 'yellowA200'; 
      break; 
      case 'KRU': 
       return 'lightGreenA400'; 
      break; 
      case 'UPS': 
       return 'deepPurpleA100'; 
      break; 
      case 'MK': 
       return 'brown300'; 
      break; 

      default: 
      return 'pinkA200'; 

     } 

    }; 

このエラーが発生する理由はまだ分かりません。 パラメータmyTextには名前/プロパティが含まれています。

+1

var fillcolor = function(data){//あなたのコード}を試してください。 this.fillcolorだけをfillcolor(データ)に追加しないでください。@ Tromesh –

+1

あなたの質問のタイトルが参照する "JSONオブジェクト"とは何ですか? 'fillColor'をどのようなコンテキストで定義していますか?どのような文脈であなたはそれを呼んでいますか? –

答えて

0

あなたは

[{"data":[["1","2"],["3","4"]],"aFunction":"function(){return \"foo bar\";}"}] 

のような正しいJSON構造に従ってくださいそして、あなたが参照しているコンテキストが間違っています。 あなたのコードにあるは、何か他のものをもたらします。

関連する問題