通过多次调用按顺序将对象插入数组

Insert objects into array sequentially over multiple calls

当新照片上传到 Instagram 时,我会将它们分组添加到我的数据库中。假设我第一次调用 Instagram API returns 数组中的 5 个照片对象,[20,21,22,23,24]20 是最新的,24 是最旧的。几分钟后我的下一个电话 returns 5 个更新的照片对象,[15,16,17,18,19]15 是最新的,19 是 "oldest"(但总是比 20 更新),等等。

理想情况下,我希望我的数据库将对象存储为 [15,16,17,18,19,20,21,22,23,24][24,23,22,21,20,19,18,17,16,15]。但是,如果我使用 push,我最终得到:[20,21,22,23,24,15,16,17,18,19],而如果我使用 unshift,我最终得到:[19,18,17,16,15,24,23,22,21,20,]

看来您需要反转原始数组。

演示:

var x = [20, 21, 22, 23, 24];
var y = [15, 16, 17, 18, 19];
var pushed = [];
var unshifted = [];
var i;


for(i = 4; i >= 0; i--) {
    pushed.push(x[i]);
    unshifted.unshift(x[i]);
} 

for(i = 4; i >= 0; i--) {
    pushed.push(y[i]);
    unshifted.unshift(y[i]);
}

console.log(pushed); // outputs [24, 23, 22, 21, 20, 19, 18, 17, 16, 15]
console.log(unshifted); // outputs [15, 16, 17, 18, 19, 20, 21, 22, 23, 24]