Javascript 将另一个文件中的对象添加到单独文件中的数组中

Javascript 将另一个文件中的对象添加到单独文件中的数组中,javascript,Javascript,我正试图找到一个更好的解决方案,将对象添加到数组中。长方体对象来自一个单独的文件,并在不同的文件中一次推送到数组中一行,例如: function loadCols(){ collisionPoints.push(box1); collisionPoints.push(box2); collisionPoints.push(box3); collisionPoints.push(box4); collisionPoints.push(box5); collisionPoints.push(box6

我正试图找到一个更好的解决方案,将对象添加到数组中。长方体对象来自一个单独的文件,并在不同的文件中一次推送到数组中一行,例如:

function loadCols(){
collisionPoints.push(box1);
collisionPoints.push(box2);
collisionPoints.push(box3);
collisionPoints.push(box4);
collisionPoints.push(box5);
collisionPoints.push(box6);
collisionPoints.push(box7);
collisionPoints.push(box8);
collisionPoints.push(box9);
collisionPoints.push(box10);
};
我曾尝试使用for循环并连接字符串
“box”+I
,但没有成功。
我还尝试将它们添加到创建对象的文件中的数组中,但找不到将数组传递到主文件的方法。虽然这是可行的,但我希望有一个更干净的解决方案。感谢您的帮助,干杯。

如果您发送JSON数组中的所有对象,您只需执行以下操作:

var array = JSON.parse(boxesarray);
for(var i = 0;i< array.length; i++) {
    collisionPoints.push(array[i]);
}
var-array=JSON.parse(boxesarray);
对于(var i=0;i

但这需要您发送一个数组中的所有框,如果这不可能,请发布代码说明原因,我将调整我的anwser。

如果您发送一个JSON数组中的所有对象,您可以这样做:

var array = JSON.parse(boxesarray);
for(var i = 0;i< array.length; i++) {
    collisionPoints.push(array[i]);
}
var-array=JSON.parse(boxesarray);
对于(var i=0;i

但是它需要你发送一个数组中的所有框,如果这不可能,请发布代码说明为什么不可能,我将修改我的anwser。

如果我理解正确,你正在寻找一种方法,在
循环中使用动态变量。如果
box1
等是全局变量,则可以通过将它们作为
窗口的属性访问来动态获取它们:

window['box'+i]

请参见此处:

如果我理解正确,您正在寻找一种在
for
-循环中使用动态变量的方法。如果
box1
等是全局变量,则可以通过将它们作为
窗口的属性访问来动态获取它们:

window['box'+i]

请参见此处:

您可以使用window对象从其字符串名称获取变量

function loadCols(){
   for (var i=1; i<=numberOfBoxVars; i++) {
       collisionPoints.push(window["box" + i]);
   }
}
(function() {
    var box1 = "1";
    var box2 = "2";
    ...

    function loadCols(){
        for (var i=1; i<=numberOfBoxVars; i++) {
           collisionPoints.push(this["box" + i]);
       }
    }
}); 
函数loadCols(){

对于(var i=1;i,您可以使用window对象从其字符串名称获取变量

function loadCols(){
   for (var i=1; i<=numberOfBoxVars; i++) {
       collisionPoints.push(window["box" + i]);
   }
}
(function() {
    var box1 = "1";
    var box2 = "2";
    ...

    function loadCols(){
        for (var i=1; i<=numberOfBoxVars; i++) {
           collisionPoints.push(this["box" + i]);
       }
    }
}); 
函数loadCols(){

对于(var i=1;iSyntax:
arr.push(element1,…,elementN)
so
.push
可以接受
n
参数数
冲突点。push(box1,box2,…,boxN);
语法:
arr.push(element1,…,elementN)
so
.push
可以接受
n
参数
冲突点。push(box1,box2,…,boxN)
javascript文件的加载顺序是否会有所不同?创建框对象的文件在最后加载的主程序之前加载。或者这是在对象文件的末尾创建的,并且可以被主文件访问?因此,如果我理解正确的话,您有一个.js创建框并将它们存储在a中rray?我可以在此基础上给出一个详细的答案。Np我忽略了一个事实,即它是两个.js之间的通信,正如您在其他答案中所看到的,这更容易。javascript文件的加载顺序会有所不同吗?创建box对象的文件是在最后加载的主程序之前加载的。或者这是cr在objects文件的末尾创建,并且可以被主文件访问?因此,如果我理解正确,您有一个.js来创建框,还有一个将它们存储在数组中?我将能够基于此给出详细的答案。Np我忽略了一个事实,即它是两个.js之间的通信,正如您在其他答案中看到的,这是ea西尔。