[英]push to multidimensional array Javascript
我有以下代码:
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”。 但是什么也没发生。 为什么?
这是因为-
在data-opPrice
。 -
是减法。
alert(data_array['items'][1]['data-opPrice']);
您可能想要:
data_array.items[1]['data-opPrice'];
尝试
alert(data_array['items'][1]['data-opPrice']);
因为否则是一个操作(数据减去 opPrice)
用这个:
data_array.items[1]['data-opPrice']
使用命名约定,并且不要在属性名称上使用破折号(减号)。
因此,请遵循以下规则: 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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.