1

JS オブジェクトの構造化に関する質問です。I want to push values in というオブジェクトがあるmainObjectので、値はコードの 2 番目のセクションのような形式で表示されます。値はループで追加されます。私は次の行に沿って何かをできるようにしたい:-

mainObject.data.push({lat : val['lat'], lng: val['lng'], count: 40});} 

誰かが私にこれを行う方法を教えてもらえますか? JS オブジェクトについて頭を悩ませようとしています。

var mainObject = {
    max: 46};

var mainObject = {
            max: 46,
            data: [{lat: 33.5363, lng:-117.044, count: 1},{lat: 33.5608, lng:-117.24, count: 1},{lat: 38, lng:-97, count: 1},{lat: 38.9358, lng:-77.1621, count: 1}]
    };

ありがとう :)

4

1 に答える 1

2

JavaScript.pushでは、配列用に予約されています。すでにプロパティを持っているオブジェクトに追加するには、これを行うだけです。

var mainObject = {
    max: 46
};

mainObject.data = [{lat : val['lat'], lng: val['lng'], count: 40}];

次に、次のようなオブジェクトになります。

mainObject{
    max : 46,
    data : [{lat : val['lat'], lng: val['lng'], count: 40}]
}

それはあなたが望んでいたものです。

編集:

@cristoph は、最初の mainObject のインスタンス化を変更すると、次のことができると指摘しました。

 var mainObject = {
     max : 46,
     data : [] 
 }

 mainObject.data.push({lat : val['lat'], lng: val['lng'], count: 40});

同じ結果が得られます。

どちらの方法を選択しても、一度dataはプロパティでmainObjectあり、配列である場合は、引き続き使用.pushしてさらに要素を挿入できます。

したがって、上記に対してこれを行う:

 mainObject.data.push({foo : bar});

次の結果が得られます。

 mainObject{
     max : 46,
     data : [{lat : val['lat'], lng: val['lng'], count: 40}, {foo : bar}]
 }
于 2013-03-12T15:55:54.553 に答える