1

次のコードがあります。

    data_array =  {
                      full_name: 'fullname',
                      items: [],
                      address_full: 'address'
                  };

        first = {
            'data-opPrice'  : '1a',
            'data-stdPrice' : '1b',
            'state'         : '1c'
        };
        second = {
            'data-opPrice'  : '2a',
            'data-stdPrice' : '2b',
            'state'         : '2c'
        };          
        data_array.items.push(first);
        data_array.items.push(second);

    alert(data_array['items'][1].data-opPrice);

アラート「2a」を受け取ることを期待しています。しかし、何も起こりません。なんで?

4

5 に答える 5

4

のせい-ですdata-opPrice-減算です。

alert(data_array['items'][1]['data-opPrice']);

http://jsfiddle.net/t9c7L/1/

于 2013-01-04T19:38:20.763 に答える
1

あなたはおそらく欲しい:

data_array.items[1]['data-opPrice'];
于 2013-01-04T19:37:13.053 に答える
0

これを使って:

data_array.items[1]['data-opPrice']
于 2013-01-04T19:41:48.993 に答える
0

試す

alert(data_array['items'][1]['data-opPrice']);

それ以外の場合は操作であるため ( dataからopPriceを差し引いたもの)

于 2013-01-04T19:38:33.537 に答える
0

命名規則を使用し、プロパティ名にダッシュ (マイナス) を使用しないでください。

次のルールに従ってください: http://javascript.crockford.com/code.html

次に、次のようなコードを記述します。

data_array =  {
                  full_name: 'fullname',
                  items: [],
                  address_full: 'address'
              };

    first = {
        'dataOpPrice'  : '1a',
        'dataStdPrice' : '1b',
        'state'         : '1c'
    };
    second = {
        'dataOpPrice'  : '2a',
        'dataStdPrice' : '2b',
        'state'         : '2c'
    };          
    data_array.items.push(first);
    data_array.items.push(second);

alert(data_array.items[1].dataOpPrice);
于 2013-01-04T19:48:23.917 に答える