2016-11-02 13 views
0

私はこのJSON配列は

this.data.push{'data': 'type', 
    'value': 'apple'} 

のような配列にデータをプッシュしているし、私はその特定の配列の値オブジェクトの値を追加します。私はこのようにしようとしました

this.data[index].value.push = 'banana'; 

しかし、それは動作しません?あなたは、

this.data.push({'data': 'type', 'value': 'apple'}); 

しかし、あなたのデータがオブジェクトであることを考える:私は

答えて

2

はJavaScriptで次のように仕事関数の値を交換したいですプッシュを使用する必要はありません。

this.data[index].value = 'banana'; 

値を直接javascriptオブジェクトから取得します。詳細は、この時

this.data[index]['value'] = 'banana'; 

ルック:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

+0

私はそれを試しました。動いていない。 'Undefined'の値 'を設定できません.'このエラーは – kohli

+0

です。問題はthis.dataが正しいことを得ていないことです。 console.log(this.data)を実行する必要があります。あなたが見るものを教えてください。 –

+0

私はそれでも同じエラーを試みました – kohli

3

Pushは、配列に項目を追加するArray.push()

this.data[index].push('banana'); 
+0

のように私はその特定のインデックスではないすべてのデータの値のみオブジェクトを置き換えたい – kohli

+0

あなたはこれをこの方法で行う必要がありますよりも、オブジェクトに対してproperties accessorsに見てください。 this.data [index] .value = "あなたの新しい値" –

1

プッシュは、オブジェクトのパラメータを取り、あなたが持っている必要がありますが、文字列キーを使用していることを、あなたはおそらく次の操作を行う必要があります考える

あなたが直接フィールド値

を変更することができます値を変更するには、中括弧

this.data.push({'data': 'type', 'value': 'apple'}) 

でこのパラメータを渡します

this.data[index].value = 'banana'; 

valueに複数の値を保存する場合は、値をarrayに設定します。

+0

これは機能しません – kohli

+0

追加フィールドを挿入して値を変更したいですか? –

1

あなたは配列でvalue属性の値を交換する必要があるので

this.data[index].value = ['banana']; 

します。

これが再び

Array.isArray(this.data[index].value) ? (this.data[index].value = ['banana']) : this.data[index].value.push('banana'); 
2

を繰り返す必要がある場合、私はこの

this.data.push{'data': 'type', 'value': 'apple'} 

ないような配列にデータをプッシュしています!構文エラーを出さなければ動作しません。

あなたは、配列dataの最後に新しいオブジェクトを挿入するための

this.data.push({'data': 'type', 'value': 'apple'}); 

を使用することができます。

は、特定のオブジェクトのプロパティを変更するためには、これは、要素や財産を取り、それに新しい価値'banana'を割り当て

this.data[index].value = 'banana'; 

のように、新しいコンテンツを割り当てる必要があります。

object.property 
object["property"]