0

重複の可能性:
ネストされたデータ構造 / JSON があります。特定の値にアクセスするにはどうすればよいですか?

私は JavaScript の初心者で、Javascript で次のオブジェクトの配列を作成しました。

var values = [[{
       x_value: {
           x_axis: 1,
           y_axis: 1.8445
       },
       y_value: {
           x_axis: 1,
           y_axis: 1.2445
       },
       z_value: {
           x_axis: 1,
           y_axis: 1.1445
       }
   }],[{
       x_value: {
           x_axis: 2,
           y_axis: 1.35
       },
       y_value: {
           x_axis: 2,
           y_axis: 1.245
       },
       z_value: {
           x_axis: 22,
           y_axis: 1.345
       }
   }],[{
       x_value: {
           x_axis: 3,
           y_axis: 1.087
       },
       y_value: {
           x_axis: 3,
           y_axis: 1.125
       },
       z_value: {
           x_axis: 3,
           y_axis: 1.95
       }
   }]];

x_axis の値、たとえば、values[0] の y_value にアクセスしたいのですが、どのメソッドを使用すればよいですか? 前もって感謝します

4

2 に答える 2

2

オブジェクトを別の配列(オブジェクトのみを保持)に配置したため、値を取得するには、次のようなものを作成する必要があります。

var x_axis = values[0][0].y_value.x_axis,
    y_axis = values[0][0].y_value.y_axis;
于 2013-01-25T12:19:40.940 に答える
1

可能であれば、次のように、各オブジェクトを別の配列にラップする正当な理由はありません。

 var yourCode = [[{}],[{}]];
 var better = [{},{}];

データを変更できる場合は、スクリプトがすべてのオブジェクトを含む単一の配列を受け取るようにしてください (var better上記の形式のように)。
現状では、内部配列の最初のインデックスにもアクセスする必要があります。

var x = values[0][0].x_axis;
var y = values[0][0].y_axis;

私が提案したものに合うようにフォーマットを変更した場合:

var x = values[0].x_axis;

オブジェクトは角かっこ表記もサポートしていることに注意してください。これは、プロパティ名/キーが変数の値である場合に非常に役立ちます。

var getProp = 'x_axis';
console.log(values[0][0].getProp);//undefined, looks for property called getProp
console.log(values[0][0][getProp]);//returns value of x_axis property, variables value is used

で十分です... できれば、2番目の形式を使用してください。入力が少なくて済むだけでなく、オーバーヘッドがわずかであっても、配列は自由ではありません。完全に無関係な 2 番目のオブジェクト (配列のインスタンス) を作成しています。

于 2013-01-25T12:32:31.310 に答える