C# 如何在ExtJS中创建动态数组变量名

C# 如何在ExtJS中创建动态数组变量名,c#,javascript,asp.net,extjs,C#,Javascript,Asp.net,Extjs,我有一个数组变量,如下所示: var subPriceSelectedIdxArray = []; 在另一个示例中,我有一个生成计数器变量,如下所示: int counter = 0; for(i=0;i<10;1++) { counter += 1; } 但当我将idx推到窗口[子价格选择dXDArray+索引]时,它会出错。错误是未定义的变量 是否可以创建动态数组变量名?您希望执行的操作是可能的。但不推荐 让我们先回答问题。要动态标记变量名,如subpriceselectedxar

我有一个数组变量,如下所示:

var subPriceSelectedIdxArray = [];
在另一个示例中,我有一个生成计数器变量,如下所示:

int counter = 0;
for(i=0;i<10;1++)
{
counter += 1;
}
但当我将idx推到
窗口[子价格选择dXDArray+索引]
时,它会出错。错误是未定义的变量


是否可以创建动态数组变量名?

您希望执行的操作是可能的。但不推荐

让我们先回答问题。要动态标记变量名,如
subpriceselectedxarray2
,必须在执行操作时将其附加到
窗口
,但方法如下:

window['subPriceSelectedIdxArray' + index] = idx;
// if index is 1, this will create a variable called subPriceSelectedIdxArray1
// if index is 2, this will create a variable called subPriceSelectedIdxArray
此变量与
子价格selectedxArray
无关,它不是一个数组,而是一个
数字

尽管如此,看起来您需要的是一个数组,因为您需要一个变量来存储多个变量,并通过它们的索引来查找它们。这是做你想做的事情的正确方法。也许你有理由不这么做?若然,原因为何

为此,您应该:

var subPriceSelectedIdxArray = []
以及:

或:


非常感谢席尔瓦的回答。我在extJs中创建动态生成网格。每个网格都有一个生成id。这就是为什么我需要像上面这样的动态数组变量来区分一个网格和另一个网格。为什么不使用包含数组的数组呢?只是好奇(还有,也许我们可以将问题标记为已解决?:)我会尝试这种方式,我以前不考虑数组中包含数组的数组。。哈哈,谢谢。。好的,让我们来回答这个问题,这是JavaScript最有趣的部分。这对那种东西来说是非常灵活的。祝你好运
var subPriceSelectedIdxArray = []
select: function (selectionModel, selected, idx, opt) {
   // Make sure this array is defined
   subPriceSelectedIdxArray[index] = subPriceSelectedIdxArray[index] || [];
   subPriceSelectedIdxArray[index].push(idx); }
select: function (selectionModel, selected, idx, opt) {
   // Make sure this array is defined
   subPriceSelectedIdxArray[index] = subPriceSelectedIdxArray[index] || [];
   subPriceSelectedIdxArray[index][idx] = idx; }