我试图用Javascript创建一个Cache Hashtable。
通过执行 cache.splice(0,0, ...dataPage);
我从第一页开始插入我的数据,直到dataPage.lengthposition。
假设我的 dataPage 大小总是 10
我的缓存数组应该是这样的 [0: {..}, 1: {..} ..... 9: {...}]
之后,假设我想加载第5页的数据,我在执行 cache.splice(40,0, ...data);
我希望我的数组看起来像这样。[[0: {..}, 1: {..} ..... 9: {...}, 40: {...}, 41:{...} ... 49{...}]
但它看起来像 [[0: {..}, 1: {..} ..... 9: {...}, 10: {...}, 11:{...} ... 12{...}]
任何想法,我可以实现我的预期结果吗?
解决方案:
cache.splice(40,0, ...data)
意思是,你 ...data
将被插入到你的第40位的 cache
.
如果您的 cache
没有40个元素,就不能在这个位置插入。
也许你应该先定义一个 cache
与所需数量的位置,然后将您的数据拼接到它。
编辑当然你可以动态地做到这一点。像这样(我没有测试,但也许你明白了)。
var cache= [];
var insertion_pos = 40;
var dataPage = [0: {..}, 1: {..} ..... 9: {...}, 10: {...}, 11:{...} ... 12:{...}]
for(var i=0; i < insertion_pos; i++) {
cache.push(i);
}
cache.splice(insertion_pos, 0, ...dataPage)
本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/5271.html