gpt4 book ai didi

javascript - 如何创建具有增量名称的变量

转载 作者:行者123 更新时间:2023-11-28 08:02:24 25 4
gpt4 key购买 nike

我无法理解如何做到这一点

我创建了一个变量来保存一个对象:

var myobject = new object();

一切都很好;名称是“我的对象”,内容是一个新对象。

如果我想要 10 个变量,我需要输入 10 个变量名称。

var myobject1 = new object();
var myobject2 = new object();
var myobject3 = new object();
var myobject4 = new object();
.... and so on
现在;我想用一个计数器来增加变量的名称(而不是内容),所以我需要一个新对象多少次并不重要;名称只会以增量方式更改(我不能为变量重用相同的名称,这是一个很长的故事)。所以结果将与上面相同,但我实际上不需要写 10 次(n 次)变量名称。

在sh中,我可以引用myobject名称,或 $myobject该变量的内容;但是JS好像没有这个方法。

我试图写下逻辑,但我看不出你实际上是如何增加变量名称的:

//global variables
var counter=0;
var tempname;

function makeplentyofobj(){

if (temp name)
tempname= new object(); //this should make myobjectN
else
myobject= new object(); //this makes myobject1
counter ++;
tempname ='myobject'+counter; //this make a name for the next object)
}

当我运行它时,编译器将放入新对象 myobject(计数器变为 1,临时名称包含字符串“myobject1”)。

如果我调用该函数两次,第二次我将得到 counter=1,并且 tempname 将包含字符串“myobject1”。这就是我想用作下一个变量的名称的名称。由于 tempname 不为空,因此我在 else 条件中分支,但 tempname 的内容将从字符串更改为对象。

相反,我想获得一个新的变量名,它随计数器递增,所以每次我调用var my object = new object();时随着计数器的增加,我得到

myobject1=new object();
myobject2= new object();
....

如何在 JS 中获取它?

编辑:

感谢您的回复;它是重复的;尽管我的问题花了相当长的时间来推理我所做的事情,而另一个问题是一个简单的“我该怎么做”。

我需要付出努力;我想下次我会跳过这个努力:)

最佳答案

解决此类问题的通常方法是将对象放入数组中。这简化了它们的存储和检索。

var objArray = [];
objArray.push(new object());
objArray.push(new object());
objArray.push(new object());
objArray.push(new object());

或者,您甚至可以将它们放在初始声明中:

var objArray = [new object(), new object(), new object(), new object()];

如果您真的只想要通用对象,它可以像这样简单:

var objArray = [{}, {}, {}, {}, {}];
<小时/>

然后,引用给定元素就像这样简单

var obj = objArray[n];

请记住,数组以索引 0 开头,如 objArray[0] 中所示。

关于javascript - 如何创建具有增量名称的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234676/

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