2016-12-09 3 views
0

以下のように宣言し、配列に値を代入しますが、この行にエラーが表示されますattributes.categoryKey: '2051'予期しないトークン '。誰かが私を助けます。ありがとう。配列内のキー値のペアに値を宣言して割り当てる方法

var arr2 = [ {'attributes': {'categoryKey': '' },'value': '' } ] 
     $.each(value, function (i, v) { 
     arr2.push({ attributes.categoryKey: '2051', 'value': v.name }); 
+0

[計算さオブジェクトのプロパティ](https://developer.mozilla.org/en-US/docs

しかし、私はすることによって、これを通過する提案を持っています/ Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names)は '[variable]'の形式を取るので、 '{[variable]:" value "}' –

+0

はあなたのコードplsを編集できます..... – MMR

+0

あなたが反復処理している値は何ですか? –

答えて

1

あなたは直接

arr2.push({ attributes.categoryKey: '2051', 'value': v.name }); 

としてここにこれを行うことはできません.categoryKeyは、したがって、あなたが最初に

行ったように、オブジェクトのそのような更なるプロパティを定義する必要が無効であるので、まだ定義されていない属性

var arr2 = [ {'attributes': {'categoryKey': '' },'value': '' } ] 
var value = [{name:"name1"}]  
$.each(value, function (i, v) { 
    arr2.push({ attributes: {categoryKey: '2051'}, 'value': v.name }); 
}) 
console.log(arr2); 

次のようにする必要があります。https://jsfiddle.net/7ggcjjh7/

+0

ありがとうございましたvinod ......... – MMR

0

構文が間違っています:

var object = {key: 'value'};

鍵ははっきりしていなければならず、その中でいくつかの表現を使用することはできません。最後

var a = {'value': v.name }; 
a[attributes.categoryKey] = '2051'; 

arr2.push(a); 
関連する問題