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

Insert objects into array sequentially over multiple calls

本文关键字:对象 插入 数组 顺序 调用      更新时间:2023-09-26

当新照片上传到Instagram时,我会分组将新照片添加到我的数据库中。假设我第一次调用 Instagram API 会在数组中返回 5 个照片对象,[20,21,22,23,24]20是最新的,也是24最古老的。然后几分钟后我的下一个调用返回 5 个较新的照片对象,[15,16,17,18,19] . 15是最新的,19是"最旧的"(但总是比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]