2011-10-26 71 views
0

我有購物車外,車中我想存儲4個項目每個項目訪問數組功能

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

所以我已經颳起了二維數組

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

您已經在te函數外部定義了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

這真的很棒。我將如何找到一個項目?例如,如果我有一個12的ID和 – maxum

+0

@maxum循環訪問數組,請檢查'id == idYouAreLookingFor'。或者將項目存儲在一個對象中,而不是數組,其中項目ID是直接訪問的關鍵。 – deceze

0

該數組存儲在變量items中,因此正常訪問。

items[0] 
-1

由於items是函數的聲明之外,你可以在該函數外部訪問它以正常方式:

console.log(items[0][0]); //Will print whatever is at 0,0 in the array