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;i console.log(fillGaps(array2))代码>您是说array1和array2实际上是对象吗?就目前而言,这会引发语法错误。stuff
、stuff2
等中的对象是否保证按id排序,或者函数是否也需要这样做?array2
在数组中使用键:值
语法。那是无效的。展示你真正想要做的事情。所以你想要一个数组或对象。您提到的输出是一个格式不正确的对象。我认为您的数据结构不利于您想要执行的操作。您设法从我蹩脚的英语/新手编程技能中了解到我想要实现的目标。非常感谢!