Javascript 仅将最后一次迭代分配给对象

Javascript 仅将最后一次迭代分配给对象,javascript,object,reactjs,Javascript,Object,Reactjs,在尝试根据for循环的当前迭代使用唯一的数值初始化新对象时,我注意到只指定了最后一个数值。例如,如果循环的计数器应该在12处停止,我希望从变量中注销12个对象,相反,我将只记录第12次迭代。我试着把它包起来,但还是没有成功。我注销了循环中的12个对象,没有问题,但在闭包之外时,只有最后一次迭代可用 编辑:为了提供更好的概述,这里是我关于我项目的Heroku的链接。基本上,在我的文本框中,我想输入“40”,然后捕获40,将其设置为this.state.text,将其用作循环中的控制变量,并在屏幕上

在尝试根据for循环的当前迭代使用唯一的数值初始化新对象时,我注意到只指定了最后一个数值。例如,如果循环的计数器应该在12处停止,我希望从变量中注销12个对象,相反,我将只记录第12次迭代。我试着把它包起来,但还是没有成功。我注销了循环中的12个对象,没有问题,但在闭包之外时,只有最后一次迭代可用

编辑:为了提供更好的概述,这里是我关于我项目的Heroku的链接。基本上,在我的文本框中,我想输入“40”,然后捕获40,将其设置为this.state.text,将其用作循环中的控制变量,并在屏幕上创建40匹马。为了避免在屏幕上丢失当前的马,我尝试创建一个新对象(StudentsNew),然后进行浅合并

var StudentsNew;

对于(var i=0;i我想我看到了您想要做的事情:

var StudentsNew = {};
for(var i = 0; i <= this.state.text; i++){
  StudentsNew[i] = {left: 100, top: 100};
}
console.log(JSON.stringify(StudentsNew));
var StudentsNew={};

对于(var i=0;i我想我看到了您想要做的事情:

var StudentsNew = {};
for(var i = 0; i <= this.state.text; i++){
  StudentsNew[i] = {left: 100, top: 100};
}
console.log(JSON.stringify(StudentsNew));
var StudentsNew={};

对于(var i=0;i),您每次迭代都重写StudentNew。您是否希望会有12个StudentNew变量?为什么?您只是试图推送对象{left:100,top:100}到数组的每个索引中?一个变量只能包含一个值。您可以使用来存储值列表。循环结束时,您希望StudentsNew包含什么内容?它只能包含一个对象,除非您将其初始化为数组,然后在每次迭代时将对象添加到数组中。您正在重写StudentNew每次迭代.您是否预期将有12个StudentNew变量?为什么?您只是试图推动对象{left:100,top:100}到数组的每个索引中?变量只能包含一个值。您可以使用来存储值列表。循环结束时,您希望StudentsNew包含什么?它只能包含一个对象,除非您将其初始化为数组,然后在每次迭代中将对象添加到数组中。不,它必须是对象,而不是数组。This只是我项目的一小部分。我正在使用React DnD执行一些拖放操作Justin它不记录数组而是对象不,它必须是对象,而不是数组。这只是我项目的一小部分。我正在使用React DnD执行一些拖放操作Justin它不记录数组而是记录对象