2011-10-26 7 views
0

の外配列、カート内私は、各項目の4つの項目アクセスは私がショッピングカートを持っている機能

[0] DB id 
[1] description 
[2] cost 
[3] item id 

を保存したいので、私は2次元配列

var x=0; 
var items= new Array(); 
var itemNum = 0 

Function add(id, desc, cost) 
{ 
items[x]=new Array(4); 
items[x][0]=item; 
items[x][1]=desc; 
items[x][2]=cost; 
items[x][3]=itemNum; 
x++ 
itemNum++ 
} 

を手早くています関数外で配列にアクセスするにはどうすればよいですか?

+0

あなたはすべてのエラーを取得していますか?どのようにアレイにアクセスしようとしていますか? – simonlchilds

+0

あなたは関数の外でitems配列を定義し、関数内で項目を追加していますので、あなたが今何をしているのかを尋ねていますが、問題は見えませんか? –

+1

おそらく 'items.length'を使用し、' x'と 'itemNum'を使用したくないでしょう。その点については、おそらく 'items.push()'を使い、次の項目を計算せずに何かを手動で挿入したいと思うでしょう。 – Quentin

答えて

3
var items = []; 

function add(id, desc, cost) { 
    items.push({ id : id, desc : desc, cost : cost }); 
} 

add(1, 'test', 12345); 

alert(items[0].desc); 
+0

それはかなり素晴らしいです。その中のアイテムはどのようにして見つけられますか?たとえば、IDが12で、 – maxum

+0

の@maxum配列をループする場合は、 'id == idYouAreLookingFor'をチェックします。または、アイテムIDが直接アクセスのキーである配列ではなく、オブジェクトにアイテムを格納します。 – deceze

0

配列は変数itemsに格納されているため、通常通りアクセスします。 items以来

items[0] 
-1

は、関数の外で宣言されている、あなたは通常の方法で、関数の外でそれにアクセスすることができます

console.log(items[0][0]); //Will print whatever is at 0,0 in the array 
関連する問題