Javascript 与另一个数组相比填充数组

Javascript 与另一个数组相比填充数组,javascript,arrays,Javascript,Arrays,我有这两个数组 var array1 = [{ id: "Test1", value: "Beep" }, { id: "Test2", value: "Meep" }, { id: "Test3", value: "Sheep" }]; var array2 = [{ id: "Test2" }, { id: "Test3" }], stuff2: [{ id: "Test1" }, { id: "Test3" }]

我有这两个数组

var array1 = [{
  id: "Test1",
  value: "Beep"
}, {
  id: "Test2",
  value: "Meep"
}, {
  id: "Test3",
  value: "Sheep"
}];

var array2 = [{
    id: "Test2"
  }, {
    id: "Test3"
  }],
  stuff2: [{
    id: "Test1"
  }, {
    id: "Test3"
  }],
  stuff3: [{
    id: "Test3"
  }];
我正在寻找一种将空对象或null插入第二个数组的方法,以便第二个数组看起来像这样:

var array2 = [null, {
    id: "Test2"
  }, {
    id: "Test3"
  }],
  stuff2: [{
    id: "Test1"
  }, null, {
    id: "Test3"
  }],
  stuff3: [
    null, null, {
      id: "Test3"
    }
  ];
这不可能是ES6,因为我正在使用的代码库非常旧(AngularJS 1.4)


我还没来得及想清楚这件事。欢迎您提供任何帮助。

我正在对您实际想要完成的工作做一些假设(基于您的输入和期望的输出)。其思想是,对于包含对象(您称之为数组)中的每个键,检查
stuff
stuff2
等数组中每个元素的id是否等于数组中对象的索引+1。(即,
stuff[0]。id==“Test1”
)。如果不是这样,请在该位置将
null
插入数组并向前移动。它将如下所示:

var array2={
材料:[{
id:“Test2”
}, {
id:“Test3”
}],
资料2:[{
id:“Test1”
}, {
id:“Test3”
}],
资料3:[{
id:“Test3”
}]
};
函数填充间隙(obj){
var keys=Object.keys(obj);
键。forEach(功能(键){
var arr=obj[key];
对于(变量i=0;iconsole.log(fillGaps(array2))您是说array1和array2实际上是对象吗?就目前而言,这会引发语法错误。
stuff
stuff2
等中的对象是否保证按id排序,或者函数是否也需要这样做?
array2
在数组中使用
键:值
语法。那是无效的。展示你真正想要做的事情。所以你想要一个数组或对象。您提到的输出是一个格式不正确的对象。我认为您的数据结构不利于您想要执行的操作。您设法从我蹩脚的英语/新手编程技能中了解到我想要实现的目标。非常感谢!