从 javascript 中的数组中动态获取对象

Get objects from array in javascript dynamically

我有以下代码

var obj = [];
var statuses = [];
var time ='';

statuses array has some values like 
statuses[0] = [1]
statuses[1] = [0]
statuses[2] = [1]
statuses[3] = [1]

现在我想将这些值推送到 obj 数组中,这样当我这样做时 obj[0].length 应该是 5

如果我这样做 obj.push(([time, statuses])) 它给出的长度为 2

当我这样做时 obj.push(([time, statuses[0],statuses[1],statuses[2],statuses[3]])); 然后我得到 obj[0].length 的值为 5

我不想在 obj.push 中对 statuses[0]、[1] 等值进行硬编码,因为我不确定将来 statuses 数组中会出现多少值。

当然,我的状态数组会根据我从后端收到的值而增长。所以我的 obj[0].length 应该是状态数组中的对象数 + 时间对象。 例如:如果状态有 8 个值,那么我最终的 obj[0].length 应该是 9

我尝试过使用 concat 函数,但他们并不走运。

任何人都可以帮我解决如何动态实现这个问题吗?

如果我对你的理解正确,你应该将你的元素推到 obj 数组的第一个元素

var obj = [[]];
var statuses = [];
var time ='';

statuses array has some values like 
statuses[0] = [1];
statuses[1] = [0];
statuses[2] = [1];
statuses[3] = [1];

// === SOLUTION ===

obj[0].push(time);
for(var i; i<statuses.length;i++)
{
   obj[0].push(statuses[i]);
}

编辑:回答评论中的另一个问题 始终尝试绘制和可视化您的数组在以您要求的方式填充时的样子。

var obj = [];
var statuses = [];
var time ='';

for(var k=0;k<12;k++)
{
    statuses[0] = [1];
    statuses[1] = [0];
    statuses[2] = [1];
    statuses[3] = [1];

    // === SOLUTION ===

    obj.push([]);
    obj[k].push(time);
    for(var i; i<statuses.length;i++)
    {
       obj[k].push(statuses[i]);
    }
}

试试这个:

var temp = [];
temp.push(time);
foreach(function(s, i, statuses) {
    temp.push(s);
});
obj.push(temp);