Javascript Can';无法从数组中获取值

Javascript Can';无法从数组中获取值,javascript,Javascript,有人能告诉我为什么不能从数组中获取值吗 var state_tax= new Array(); state_tax["Alabama"]=0.05; state_tax["Alaska"]=0; state_tax["Arizona"]=0.08; state_tax["Arkansas"]=0; state_tax["Maryland"]=0.06; var v_tax=0; var lv_bts = 'Maryland'; var v_tax = state_tax[lv_bts.v

有人能告诉我为什么不能从数组中获取值吗

var state_tax= new Array();
state_tax["Alabama"]=0.05;
state_tax["Alaska"]=0;
state_tax["Arizona"]=0.08;
state_tax["Arkansas"]=0;
state_tax["Maryland"]=0.06;

var v_tax=0;

var lv_bts = 'Maryland'; 

var v_tax = state_tax[lv_bts.value];

谢谢

您只需要字符串的值作为键,而不需要任何属性

var v_tax = state_tax[lv_bts];
//                    ^^^^^^
您可以使用对象而不是数组,因为您可以像使用对象一样使用它,而不使用数组的特殊功能

var state\u tax={};
州税[“阿拉巴马州”]=0.05;
州税[“阿拉斯加”]=0;
州税[“亚利桑那州”]=0.08;
州税[“阿肯色州”]=0;
州税[“马里兰州”]=0.06;
var lv_bts=‘马里兰’;
var v|u tax=州税[lv|u bts]| 0;//如果属性不存在,则采用默认值

控制台日志(v_tax)
您无法获取它,因为您的
lv\U bts
中没有
属性
另外,为什么不使用可以轻松调试的东西呢?将数组(或实际上它的对象实例)与命名键一起使用是奇数。如果你说:
state\u tax.length
a
0
结果只是误导和错误的

改用对象文字:

var state\u tax={
“阿拉巴马州”:0.05,
“阿拉斯加”:0,
“亚利桑那州”:0.08,
“阿肯色州”:0,
“马里兰”:0.06
}
console.log(马里兰州州税务局);

console.log(state_tax[“Maryland”])
lv_bts
是一个字符串,它没有值属性。谢谢,这非常有效!你能再帮我一件事吗?我需要获得“var lv_bts=”“,类似于,但它在函数内部不起作用。尝试将BILLTOSTATE添加到全局并在func内部抓取,但仍然没有成功抱歉,我无法帮助使用php。