Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/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
Javascript 如何为FOR循环中的变量名分配索引?_Javascript - Fatal编程技术网

Javascript 如何为FOR循环中的变量名分配索引?

Javascript 如何为FOR循环中的变量名分配索引?,javascript,Javascript,如何为变量名分配索引?例如,project0、project1、project2等 for (var i=0; i<data.length; i++) { var project+i = new GanttProjectInfo(1, "Applet redesign", new Date(2010, 5, 11)); var parentTask+i = new GanttTaskInfo(1, "Old code review", new Date(2010, 5, 1

如何为变量名分配索引?例如,project0、project1、project2等

for (var i=0; i<data.length; i++)
{
    var project+i = new GanttProjectInfo(1, "Applet redesign", new Date(2010, 5, 11));
    var parentTask+i = new GanttTaskInfo(1, "Old code review", new Date(2010, 5, 11), 208, 50, "");
    project1.addTask(parentTask+i);
    // Load data structure        
    ganttChartControl.addProject(project+i);
    // Build control on the page
}

for(var i=0;i正如@JaredFarrish所建议的,您可以简单地使用数组来存储所有项目。创建它们并在变量被覆盖之前将它们添加到数组中:

var projects = [];
for (var i = 0; i < data.length; i++) {
    var project = new GanttProjectInfo(1, "Applet redesign", new Date(2010, 5, 11));
    var parentTask = new GanttTaskInfo(1, "Old code review", new Date(2010, 5, 11), 208, 50, "");
    project.addTask(parentTask);
    ganttChartControl.addProject(project);

    // Push this project to the array to save it
    projects.push(project);
}

// Need to access the first project?
projects[0].foo();
var项目=[];
对于(变量i=0;i
使用eval()

评估((“变量名”+i)+“=”+5+i)


但是不建议使用eval,因为你要做的事情总是有办法的。

不要这样做,而是使用数组!(这会让你免于痛苦)我同意@Niko,do
arr.push(5+I)
window[“varname”+I]=..
可以工作,但它不是很有用,并且会污染名称空间。在全局之外,您可以使用类似于
obj={}…obj['varname'+i]的对象=…
。不过,在这种情况下,与数组相比还是有点毫无意义。@Niko:我更新了我的示例。问题是我正在使用DHTMLX库创建甘特图。如何解决数组的这个问题?
项目。推送(new GanttProjectInfo(…);
以及如何解决这个问题:project1.addTask(parentTask+I);?像这个项目一样[I].addTask(parentTasks[i]);?哇,和我写的评论一样。+1
:)
我建议的唯一改进是为迭代上下文存储
数据.length
,即
i=0,length=data.length,i