Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问函数外部的数组_Javascript - Fatal编程技术网

Javascript 访问函数外部的数组

Javascript 访问函数外部的数组,javascript,Javascript,我有一个购物车,在购物车内,我想为每件物品储存4件物品 [0] DB id [1] description [2] cost [3] item id 所以我创建了一个2d数组 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; it

我有一个购物车,在购物车内,我想为每件物品储存4件物品

[0] DB id
[1] description
[2] cost
[3] item id
所以我创建了一个2d数组

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++
}

如何访问函数外部的数组?

数组存储在变量
项中,因此正常访问该变量

items[0]

由于
是在函数外部声明的,因此您可以在函数外部以正常方式访问它:

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

你有什么错误吗?您试图如何访问该数组?您已在te函数外部定义了items数组,并在函数内部向中添加了项,因此您要问的是您目前正在做什么,没有看到问题吗?您可能希望使用
items.length
而不是
x
itemNum
。因此,您可能希望使用
items.push()
,而不是计算下一个项目并手动插入某些内容。仅供参考,您可以更简单地使用代码:
items.push([item,desc,cost,itemNum])太棒了。我怎样才能在里面找到一个项目呢?例如,如果我的id是12and@maxum在数组中循环,检查id==idYouAreLooking是否为
。或者将项目存储在对象中,而不是项目id为直接访问键的数组中。
var items = [];

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

add(1, 'test', 12345);

alert(items[0].desc);