2017-08-20 8 views
-1

から値を取得することができませんか?は、Array

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]; 

おかげ

+0

'lv_bts'は文字列ですが、値が正しくありません。 – felixmosh

答えて

0

あなたが任意のプロパティなしで、キーとして文字列の値だけを必要としています。

var v_tax = state_tax[lv_bts]; 
//     ^^^^^^ 

オブジェクトのように使用するため、配列の特殊な機能を使用しないため、配列の代わりにオブジェクトを使用できます。

var state_tax = {}; 
 
state_tax["Alabama"] = 0.05; 
 
state_tax["Alaska"] = 0; 
 
state_tax["Arizona"] = 0.08; 
 
state_tax["Arkansas"] = 0; 
 
state_tax["Maryland"] = 0.06; 
 

 
var lv_bts = 'Maryland'; 
 
var v_tax = state_tax[lv_bts] || 0; // take a default value if property does not exists 
 

 
console.log(v_tax);

+0

ありがとう、これは素晴らしい仕事でした!あなたはもう1つのことで私を助けることができますか? <?$ BILLTOSTATEエコーPHP;?>私は「VaRのlv_btsは=」 "のようなものとすることを取得する必要がありません。しかし、それは、関数の内部で動作しないFUNC内部グローバルとグラブにBILLTOSTATEを追加しようとしましたが、まだ成功 – LeeAlexander

+0

。申し訳ありませんが、私はPHPを助けることができません。 –

+0

ありがとう – LeeAlexander

1

あなたlv_btsにはvalueプロパティがありませんので、あなたはそれをつかむことができません。
また、簡単にデバッグできるものを使用しないでください。名前のキーで配列(または実際にはオブジェクトインスタンスです)を使用すると、奇数です。あなたが言う場合:state_tax.length0の結果はちょうど誤解を招き、誤っています。

リテラルの代わりにオブジェクトを使用:あなたは本当にvalue性質を持つようにしたいならば、あなたが行くここよりも、

var state_tax = { 
 
"Alabama" : 0.05, 
 
"Alaska" : 0, 
 
"Arizona" : 0.08, 
 
"Arkansas" : 0, 
 
"Maryland" : 0.06 
 
} 
 

 
console.log(state_tax.Maryland); 
 
console.log(state_tax["Maryland"]);

を:

var state_tax = { 
 
"Alabama" : {value: 0.05}, 
 
"Alaska" : {value: 0}, 
 
"Arizona" : {value: 0.08}, 
 
"Arkansas" : {value: 0}, 
 
"Maryland" : {value: 0.06} 
 
} 
 

 
console.log(state_tax.Maryland.value); 
 
console.log(state_tax["Maryland"].value);

関連する問題