gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 11:52:30 24 4
gpt4 key购买 nike

我有一个像这样的数组变量:

var subPriceSelectedIdxArray = [];

在另一个中我有一个生成计数器变量,如下所示:

int counter = 0;
for(i=0;i<10;1++)
{
counter += 1;
}

我想组合这两个变量,因为我需要一个动态变量。所以我有一个动态变量,如 subPriceSelectedIdxArray1、subPriceSelectedIdxArray2、subPriceSelectedIdxArray3、subPriceSelectedIdxArray 等...

我创建此代码:

listeners: {
select: function (selectionModel, selected, idx, opt) {
window[subPriceSelectedIdxArray + index].push(idx);
}

但是当我将 idx 推送到 window[subPriceSelectedIdxArray + index] 时出现错误。错误是变量未定义。

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

最佳答案

你想做的事情是可能的。但不推荐。

我们先来回答一下问题吧。为了动态地声明像 subPriceSelectedIdxArray2 这样的变量名称,您必须像您正在做的那样将其附加到 window 中,但以这种方式:

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

此变量与 subPriceSelectedIdxArray 无关,它不会是一个数组,而是一个 Number

话虽如此,看起来您想要的是一个数组,因为您需要一个变量来存储多个变量并通过它们的索引查找它们。这是做你想做的事情的正确方法。也许你有充分的理由不这样做?如果是这样,为什么?

为此你应该这样做:

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

关于c# - 如何在 ExtJS 中创建动态数组变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25756787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com